我是新的 Android 开发。在我的应用程序中,我有两个 ArrayList。
一个 ArrayList 包含 HashTbale。另一个包含 HashTable
现在我如何设置适配器以及如何在第二个 ArrayList 的 Listview 图像和 ListView Row 的 ArrayList 的文本中显示。
我无法得到确切的解决方案。
请任何人帮助解决这个问题。
提前致谢
我是新的 Android 开发。在我的应用程序中,我有两个 ArrayList。
一个 ArrayList 包含 HashTbale。另一个包含 HashTable
现在我如何设置适配器以及如何在第二个 ArrayList 的 Listview 图像和 ListView Row 的 ArrayList 的文本中显示。
我无法得到确切的解决方案。
请任何人帮助解决这个问题。
提前致谢
第一个建议:(不建议)
你知道如何为 ListView 定义自定义适配器吗?如果是,那么您可以轻松地将两个数组列表传递给您的自定义适配器。在getView()
方法内部,您可以在 ListView 中显示您想要的任何详细信息
第二个建议:(建议的解决方案)
如果您制作一个自定义对象的 ArrayList,则无需在适配器中传递两个 ArrayList。
如果您想在每一行中显示图像和文本,并且如果您使用 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。图像路径作为键,文本作为值。