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

如何在Android ListView中显示两个ArrayList值?,android,listview,android-emulator,arraylist,android-2.2-froyo,Android,Listview,Android Emulator,Arraylist,Android 2.2 Froyo,我是新的Android开发人员。在我的应用程序中,我有两个ArrayList 一个ArrayList包含HashTbale。 另一个包含哈希表 现在,我如何设置adpter以及如何在Listview中显示第二个ArrayList中的图像和Listview行中ArrayList中的文本 我不能得到精确的解 请任何人在这个问题上提供帮助 提前感谢第一个建议:(未提出) 您知道如何为ListView定义自定义适配器吗?如果是,则可以轻松地将两个arraylist传递给自定义适配器。在getView()

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

一个ArrayList包含HashTbale。 另一个包含哈希表

现在,我如何设置adpter以及如何在Listview中显示第二个ArrayList中的图像和Listview行中ArrayList中的文本

我不能得到精确的解

请任何人在这个问题上提供帮助

提前感谢第一个建议:(未提出)

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

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

如果为CustomObject创建一个ArrayList,则无需在适配器中传递两个ArrayList

第一条建议:(未提出)

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

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


如果为CustomObject创建一个ArrayList,则无需在适配器中传递两个ArrayList

如果要在每一行中显示图像和文本,并且要使用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;
    }

}
List-imageList=getImageList()//可提取ID列表
列表值=getValues();
类CustomAdapter扩展了BaseAdapter{
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回imageList.size();;
}
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//对包含水平对齐的imageview和textview的布局进行充气。
//假设您扩展了布局并从该布局中获得imageView和textview
setText(values.get(position));
setImageResource(imageList.get(position));
返回视图;
}
}
//如果直接复制粘贴,代码将不起作用。使用逻辑并进行相应的更改


我的建议是使用HashMap,而不是使用2 arraylist。Imagepath作为键,text作为值。

如果要在每一行中显示图像和文本,并且如果要使用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;
    }

}
List-imageList=getImageList()//可提取ID列表
列表值=getValues();
类CustomAdapter扩展了BaseAdapter{
@凌驾
public int getCount(){
//TODO自动生成的方法存根
返回imageList.size();;
}
@凌驾
公共对象getItem(int位置){
//TODO自动生成的方法存根
返回null;
}
@凌驾
公共长getItemId(int位置){
//TODO自动生成的方法存根
返回位置;
}
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
//对包含水平对齐的imageview和textview的布局进行充气。
//假设您扩展了布局并从该布局中获得imageView和textview
setText(values.get(position));
setImageResource(imageList.get(position));
返回视图;
}
}
//如果直接复制粘贴,代码将不起作用。使用逻辑并进行相应的更改


我的建议是使用HashMap,而不是使用2 arraylist。Imagepath作为键,text作为值。

如果可能,请提供这两个HashMap值的详细信息。如果可能的话,我可以建议您将它们合并到一个hashmap中。易于处理。@PareshMayani感谢您的回复。我的确切要求是在LIstView中显示图像和文本。但是我不能在一个ArrayList中同时维护这两个ArrayList,这就是我使用两个ArrayList的原因。但是我不知道如何使用两个arraylist为listview设置adpter,必须使用HashMap arraylist,它存储图像路径和文本,并将单个arraylist设置为适配器。此外,您还可以根据需要创建自定义对象ArrayList。你可以在谷歌上找到很多例子。如果可能的话,请给出这两个HashMap值的更多细节。如果可能的话,我可以建议您将它们合并到一个hashmap中。易于处理。@PareshMayani感谢您的回复。我的确切要求是在LIstView中显示图像和文本。但是我不能在一个ArrayList中同时维护这两个ArrayList,这就是我使用两个ArrayList的原因。但是我不知道如何使用两个arraylist为listview设置adpter,必须使用HashMap arraylist,它存储图像路径和文本,并将单个arraylist设置为适配器。此外,您还可以根据需要创建自定义对象ArrayList。只要谷歌一下,你就能找到很多例子。如果他制作了CustomObject的一个ArrayList,那么就没有必要在Adapter中传递两个ArrayList。@user370305这就是我在上面的评论中试图传达的想法。如果两个ArrayList的大小不同,第一个建议就不起作用。或者文本和图像互不相关。如果他为CustomObject创建了一个ArrayList,则无需在适配器中传递两个ArrayList。@user370305这就是我在上述评论中试图传达的想法。如果两个ArrayList的大小不同,则第一个建议不起作用。或者文本和图像彼此没有关联。@PareshMayani我同意。但他想使用2个ArrayList。所以只有我给出了这个解决方案,如果两个arraylist的大小不同呢。还是文字和图像互不相关?@PareshMayani我同意。但他想使用2个ArrayList。所以只有我给出了这个解决方案怎么办