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

通过使用自定义适配器,您可以将图像添加到列表视图项目中查看本教程它将帮助您
1.在 Android 中使用自定义 ListAdapter 的 ListView

2. Android 自定义 ListView 带图片和文字

于 2012-09-28T07:53:51.253 回答
1

正如已经建议的那样,您需要使用其他适配器,例如SimpleCursorAdapter

如果您还想从 url 加载图像,则包含图像的列表可能会非常复杂

我强烈建议你看看这段代码,它完全实现了ListView带有 LazyLoading 的图像

https://github.com/thest1/LazyList

于 2012-09-28T07:57:21.540 回答
1

这是 LazyList 项目的修改版本,添加了很多内容:https ://github.com/nostra13/Android-Universal-Image-Loader我在一些项目中使用它,它非常好!

于 2012-09-28T14:20:06.097 回答