如何在Android ListView中显示两个ArrayList值?

时间:2012-07-05 06:10:12

标签: android listview android-emulator arraylist android-2.2-froyo

我是新的Android开发。在我的应用程序中,我有两个ArrayLists。

一个ArrayList包含HashTbale。 另一个包含HashTable

现在我如何设置adpter以及如何在ListView行中的第二个ArrayList和Text From中的Listview图像中显示。

我无法得到确切的解决方案。

请在此问题上提供任何帮助。

提前致谢

2 个答案:

答案 0 :(得分:2)

第一意见建议:(未提议)

您知道如何为ListView定义自定义适配器吗?如果是,那么您可以轻松地将两个arraylist传递给您的自定义适配器。在getView()方法中,您可以在ListView中显示所需的任何详细信息

第二条建议:(建议的解决方案)

如果您创建一个CustomObject的ArrayList,那么就不需要在Adapter中传递两个ArrayList。

答案 1 :(得分:2)

如果你想在每一行显示图像和文字,如果你正在使用2个arraylist,那么这里是解决方案。试试这个

List<Integer> imageList = getImageList();  //list of drawable ids
List<String> values = getValues();

class CustomAdapter extends BaseAdapter {

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return imageList.size();;
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return null;
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        // inflate the layout which contains imageview and textview which are aligned horizontally. 
        //Assuming you inflated layout and got imageView and textview from that layout
        textView.setText(values.get(position));

        imageView.setImageResource(imageList.get(position));
        return convertView;
    }

}

//如果直接复制粘贴,代码将无法运行。使用逻辑并相应地更改

我建议您使用HashMap,而不是使用2个arraylist。 Imagepath作为键,文本作为值。