1

動的 ListView に次のコードを使用しています。ListView のテキストの先頭にいくつかの画像を追加する必要があります

ListView listView = (ListView) menu.findViewById(R.id.list);
initListView(this, listView, "", 5, android.R.layout.simple_list_item_1);

public  void initListView(Context context, ListView listView, String prefix, int numItems, int layout) {
    // By using setAdpater method in listview we an add string array in list.
    String[] arr ={"A","B","C","D","E"};

    listView.setAdapter(new ArrayAdapter<String>(context, layout, arr));
    listView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

        }
    });
}

コードに画像を追加する方法を教えてください。

4

4 に答える 4

2

この種のアダプターを使用できます:

public class CustomAdapter extends BaseAdapter{

String[] arr ={"A","B","C","D","E"};
Context context;

public CustomAdapter(Context context){
    this.context = context;
}

@Override
public int getCount() {
    return arr.length;
}

@Override
public String getItem(int arg0) {
    return arr[arg0];
}

@Override
public long getItemId(int arg0) {
    return 0;
}

@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
    LinearLayout layout = new LinearLayout(context);
    layout.setOrientation(LinearLayout.HORIZONTAL);

    TextView text = new TextView(context);
    text.setText(getItem(arg0));

    ImageView image = new ImageView(context);
    image.setImageResource(android.R.drawable.ic_menu_gallery);
    layout.addView(image);
    layout.addView(text);

    return layout;
}

}
于 2012-09-28T07:54:54.720 に答える
1

すでに提案されているように、次のような他のアダプタを使用する必要がありますSimpleCursorAdapter

URLから画像をロードする場合も、画像を含むリストは非常に複雑になる可能性があります

ListViewLazyLoadingを使用したImagesで完全に実装されているこのコードを確認することを強くお勧めします

https://github.com/thest1/LazyList

于 2012-09-28T07:57:21.540 に答える
1

カスタムアダプターを使用すると、リストビュー アイテムに画像を追加できます。このチュートリアルを参照してください

2.画像とテキストを含む Android カスタム ListView

于 2012-09-28T07:53:51.253 に答える
1

これは、LazyList プロジェクトにかなりの追加を加えた修正版です: https://github.com/nostra13/Android-Universal-Image-Loader

于 2012-09-28T14:20:06.097 に答える