Как добавить в HashMap метод для ImageView?
public class MyActivity extends Activity {
ArrayList<HashMap<String, Object>> arrayList;
HashMap<String,Object> hashMap;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
arrayList= new ArrayList<HashMap<String, Object>>();
CreateHashMap();
SimpleAdapter simpleAdapter=new SimpleAdapter(this,arrayList,R.layout.item,
new String[]{"TEXT","IMAGE"},new int[]{R.id.textView,R.id.imageView});
ListView listView= (ListView) findViewById(R.id.listView);
listView.setAdapter(simpleAdapter);
}
public void CreateHashMap(){
for (int i=0; i<20; i++) {
hashMap = new HashMap<String, Object>();
hashMap.put("TEXT", "asdadasdadsa");
hashMap.put("IMAGE", R.drawable.ic_launcher);
arrayList.add(hashMap);
}
}
}
Как добавить в HashMap ключ, который бы позволял указать размер Width для IMAGE?
Думал-думал, ничего не придумал, может, вы что подкините?
///////////////////////////////////////////////////////////
Почему в
class MySimpleAdapter extends SimpleAdapter {
public MySimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
super(context, data, resource, from, to);
}
@Override
public void setViewImage(ImageView v, int value) {
super.setViewImage(v, value);
Log.e("asd","asd");
}
}
setViewImage вызывается 20 раз, если я создаю 5 объектов, и вызывается 40 раз, если я создаю 10 объектов? Это нормально? Или так не должно быть?
Источник: Stack Overflow на русском