Oui, il est de regarder le code ci-dessous:
array of data
// stores the image database icons
private static Integer[] imageIconDatabase = { R.drawable.ball,
R.drawable.catmouse, R.drawable.cube, R.drawable.fresh,
R.drawable.guitar, R.drawable.orange, R.drawable.teapot };
// stores the image database names
private String[] imageNameDatabase = { "ball", "catmouse", "cube", "fresh",
"guitar", "orange", "teapot" };
création Liste des hashmaps
private void initializeImageList() {
// TODO Auto-generated method stub
for (int i = 0; i < imageNameDatabase.length; i++) {
map = new HashMap<String, Object>();
map.put("Name", imageNameDatabase[i]);
map.put("Icon", imageIconDatabase[i]);
spinnerList.add(map);
}
ImageView imageView = new ImageView(this);
imageView.setBackgroundResource((spinnerList.get(0).get("Icon"));
spinnerList.get(0).get("Name");
}
attribution spinner à l'adaptateur
public void createAddDialog() {
// TODO
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.list_editoradd_dialog);
Spinner spin = (Spinner) findViewById(R.id.spinnerAddImageList);
CustomSpinnerAdapter adapter = new CustomSpinnerAdapter(this,
spinnerData, R.layout.spinner_view, new String[] { "Name",
"Icon" }, new int[] { R.id.imageNameSpinner,
R.id.imageIconSpinner });
spin.setAdapter(adapter);
}
l'adaptateur utilisé ci-dessus est comme indiqué ci-dessous ..
package com.tcs.CustomListViewGeneration;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
class CustomSpinnerAdapter extends SimpleAdapter {
LayoutInflater mInflater;
private List<? extends Map<String, ?>> dataRecieved;
public CustomSpinnerAdapter(Context context, List<? extends Map<String, ?>> data,
int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
dataRecieved =data;
mInflater=LayoutInflater.from(context);
}
@SuppressWarnings("unchecked")
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = mInflater.inflate(R.layout.spinner_view,
null);
}
// HashMap<String, Object> data = (HashMap<String, Object>) getItem(position);
((TextView) convertView.findViewById(R.id.imageNameSpinner))
.setText((String) dataRecieved.get(position).get("Name"));
((ImageView) convertView.findViewById(R.id.imageIconSpinner))
.setBackgroundResource(dataRecieved.get(position).get("Icon")));
return convertView;
}
}
Il n'y a pas d'explication nécessaire, je suppose en tant que telle, la structure de l'adaptateur custume est juste une base que nous suivons toujours. En outre, le code n'est pas complexe et est divisé en fonctions et classes de sorte qu'il n'est pas nécessaire que vous soyez einstien pour le comprendre! –
Qu'est-ce que la liste de spinner – grant
On dirait une solution mais le manque de beaucoup de matériel .. – Sam