0

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

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

现在我如何设置适配器以及如何在第二个 ArrayList 的 Listview 图像和 ListView Row 的 ArrayList 的文本中显示。

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

请任何人帮助解决这个问题。

提前致谢

4

2 回答 2

2

第一个建议:(不建议)

你知道如何为 ListView 定义自定义适配器吗?如果是,那么您可以轻松地将两个数组列表传递给您的自定义适配器。在getView()方法内部,您可以在 ListView 中显示您想要的任何详细信息

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

如果您制作一个自定义对象的 ArrayList,则无需在适配器中传递两个 ArrayList。

于 2012-07-05T06:20:16.040 回答
2

如果您想在每一行中显示图像和文本,并且如果您使用 2 个数组列表,那么这里是解决方案。试试这个

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。图像路径作为键,文本作为值。

于 2012-07-05T07:06:24.727 回答