0

各リスト項目の右側に小さなアイコンを配置する必要があります。カスタム リストを使用して実行できることはわかっていますが、多くのコードを再配線する必要があります。カスタムアダプターを使わずにそれを行う方法があれば?

mList = (ListView) findViewById(R.id.sidebar_list);
        mList.setAdapter(new ArrayAdapter<String>(this,
                android.R.layout.simple_list_item_multiple_choice, mStrings));
        mList.setChoiceMode(AbsListView.CHOICE_MODE_MULTIPLE);
4

3 に答える 3

2

getViewいいえ、カスタム アダプター内でオーバーライドすることが、リストの行にさまざまな画像を動的に設定する唯一の方法です。ただし、すべての行項目に静的 (同じ) 画像を設定する場合は、行のカスタム リソース xml を定義し (内部にTextViewandImageViewまたは comppund drawable-TextView を使用)、初期化時にデフォルト アダプターに渡すことができます。 .

于 2012-09-08T20:49:37.820 に答える
0

はい、 ImageView でSimpleAdapterとカスタム レイアウトを使用できます。


些細な例:

List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new HashMap<String, String>();
map.put("text", "one");
map.put("image", String.valueOf(getResources().getIdentifier("ic_launcher", "drawable", getPackageName())));
list.add(map);

ListView listView = (ListView) findViewById(R.id.list);
listView.setAdapter(new SimpleAdapter(this, list, R.layout.list_item, new String[] {"text", "image"}, new int[] {R.id.text, R.id.image}));
于 2012-09-08T20:53:03.057 に答える
0

ビューの XML レイアウトを作成し (ない場合)、imageview を追加する必要があります。それと ID ('thubnail') を指定する必要があります。次に、アダプタに位置によって特定のビューを要求します。

View singleView = listView.getChildAt(wantedChild);
ImageView thumbnail = (ImageView) singleView.findViewById(R.id.thumbnail);
thumbnail.setImageBitmap(bitmap);
于 2012-09-08T20:53:28.600 に答える