android - 将两个不同的 ArrayList 附加到一个适配器中

标签 android

listview 想要将两个不同的arraylist 合并到一个适配器中。 我尝试使用 getView() 方法的位置值,但它没有向 listview 显示正确的数据,首先它显示来自 arrayList 之后的数据它完成第二个 arraylist 应该开始显示。

ArrayList<A> list1 = new  ArrayList<A>;
ArrayList<B> list2 = new ArrayList<B>;

我想将这两个列表添加到一个适配器中。首先我需要在 list1 完成后添加 list1 显示来自 list2 的数据。我尝试使用 getView() 方法的位置变量,但它不是向我显示正确的数据。

如何实现?

最佳答案

这可以通过将两个列表添加到一个列表并将此公共(public)列表设置为适配器来实现。

ArrayList<A> list1 = new  ArrayList<A>();
ArrayList<Object> object = new ArrayList<Object>();
list1.add(new A());
object.add(new A());
ArrayList<B> list2 = new ArrayList<B>();
list2.add(new B());
object.add(new B());
object.add(new B());
listadapter mAdapterSeeLatest ;
mAdapterSeeLatest = new listadapter (getParent(),R.layout.help_row,object); 
mCheckInListView.setAdapter(mAdapterSeeLatest);
private class listadapter extends ArrayAdapter {

    ArrayList<Object> ListObject;
    int srNumber = 1;
    public listadapter (Context context, int textViewResourceId,
                ArrayList<Object> objects) {
        super(context, textViewResourceId, objects);
        ListObject = objects;
    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View v = convertView;
        if (v == null)
        {
            LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.row, null);    
        } 
        if(ListObject.get(position) instanceof A)
        {   

        }
        else if(ListObject.get(position) instanceof B)
        {
        }
    }

//now set this object ArrayList() into the List.

关于android - 将两个不同的 ArrayList 附加到一个适配器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7656954/

相关文章:

java - 修复 Google API task-android-sample 的内存不足错误

android - 应用程序未安装 android 错误

android - 淡出 TextView 的最后几行

android - [YouTube IFrame][Android] 如何从移动浏览器中删除 YouTube Logo

java - 使用 Firebase 登录后如何获取 Twitter 用户的用户名。安卓

android - Android 中的两部分过渡动画 : Slide a textview out to the left, 并从右侧引入另一个

android - 从gridview中选择图片并全屏显示

android - 开发过程中在android中调用REST API

Android - 在 View 中获取 child ?

android - 即使将 appAutoUpdatePolicy 设置为 ALWAYS,应用程序也不会更新