在动态列表视图中添加图像

时间:2012-09-28 07:47:15

标签: android android-listview android-imageview

我正在使用以下代码进行动态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 个答案:

答案 0 :(得分: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;
}

}

答案 1 :(得分:1)

通过使用自定义适配器,您可以将图像添加到列表视图项目,请参阅本教程,它将帮助您  1. ListView in Android using custom ListAdapter

2。Android Custom ListView with Image and Text

答案 2 :(得分:1)

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

如果您想从网址加载图片

,图片列表可能会非常复杂

我强烈建议您查看此代码,该代码已完全实现ListView带有LazyLoading的图像

https://github.com/thest1/LazyList

答案 3 :(得分:1)

这是LazyList项目的修改版本,增加了一些内容:https://github.com/nostra13/Android-Universal-Image-Loader我在一些项目中使用它并且相当不错!