Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中组合两个数组列表并在列表视图中显示_Android_Arraylist - Fatal编程技术网

如何在android中组合两个数组列表并在列表视图中显示

如何在android中组合两个数组列表并在列表视图中显示,android,arraylist,Android,Arraylist,我想把两个ArrayList合并成一个ArrayList 我的第一个arraylist如下所示: {a,s,d,f,g,h,......} {z,x,c,v,b,.....} 我的第二个arraylist如下所示: {a,s,d,f,g,h,......} {z,x,c,v,b,.....} 然后我想把两者结合起来,成为 {a,s,d,f,g,h,.....,z,x,c,v,b.....} 第一个列表是 ArrayList<String> firstname1 =

我想把两个ArrayList合并成一个ArrayList

我的第一个arraylist如下所示:

{a,s,d,f,g,h,......}
{z,x,c,v,b,.....}
我的第二个arraylist如下所示:

{a,s,d,f,g,h,......}
{z,x,c,v,b,.....}
然后我想把两者结合起来,成为

  {a,s,d,f,g,h,.....,z,x,c,v,b.....}
第一个列表是

ArrayList<String> firstname1   = new ArrayList<String>();
ArrayList firstname1=新的ArrayList();
其中,第二个列表是

ArrayList<String> first   = new ArrayList<String>();
ArrayList first=new ArrayList();
现在我想把所有这些结合在一起,我想把它列在列表视图中。 如何执行此操作?

列表a=new ArrayList();
List<String> a = new ArrayList<String>();
a.add("bla");
a.add("bla");
a.add("bla");
List<String> b = new ArrayList<String>();
b.add("Boo");
b.add("Boo");
b.add("Boo");

// Append content of a to b
b.addAll(a);

// New list containing a union b
List<String> union = new ArrayList<String>(a);
union.addAll(b);
a、 添加(“bla”); a、 添加(“bla”); a、 添加(“bla”); 列表b=新的ArrayList(); b、 添加(“Boo”); b、 添加(“Boo”); b、 添加(“Boo”); //将a的内容附加到b b、 阿道尔(a); //包含联合b的新列表 列表联合=新数组列表(a); 联合.阿达尔(b);
要在列表视图中显示,您需要一个适配器和一个列表视图。我建议您阅读《Android开发者指南》中有关ListView的教程:

公共类HelloListView扩展了ListActivity{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
列表b=新的ArrayList();
b、 添加(“Boo”);
b、 添加(“Boo”);
b、 添加(“Boo”);
setListAdapter(新阵列适配器)(此,
android.R.layout.simple_list_item_1,b));
}
}
将两个ArrayList合并为一个

请参考两个列表的示例代码

如何在列表视图中显示这些项目:

您的布局应该是(正如我使用的main.xml)

快乐编码

如果
列表
(如
列表
列表
)具有不同的
数据类型

List-stringsList=new-ArrayList();
添加(“字符串”);
stringsList.add(“另一个字符串”);
stringsList.add(“和一个以上”);
List integersList=new ArrayList();
integersList.add(1337);
integersList.add(1338);
integersList.add(1339);
//包含表单中所有项目的新列表
//stringsList和IntegerList
List allIWeHave=new ArrayList();
allIWeHave.addAll(stringsList);
allIWeHave.addAll(整数列表);
//提取时,请检查项目是否为整数或字符串
if(allIWeHave.get(0)instanceof Integer){
//整数值
}否则{
//字符串值
}

那么为什么不将第二个列表的项目添加到第一个列表中呢?使用listOne.addAll(listwo)为什么要将问题回滚两次?不管怎么说,它最终还是被Sathya修改了。很抱歉,这只是一次意外……两种不同的数据类型如何?@Mr.Hyde ArrayList不能包含不同数据类型的数据。所以你不能这么做。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="0dip"
android:background="@android:color/transparent">
    <ListView
            android:id="@+id/custom_list_view"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:cacheColorHint="#00000000"
            android:fastScrollEnabled="true"
            android:background="@android:color/transparent"
            android:fadeScrollbars="true"
            android:layout_gravity="top"
            android:padding="2dp">
    </ListView>
</LinearLayout> 
public class CustomListView extends Activity {

    ArrayList<String> firstname1;
    ArrayList<String> first;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        firstname1 = new ArrayList<String>();
        first = new ArrayList<String>();
        //Let both array list having some data

        firstname1.add("firstname1_data1");
        firstname1.add("firstname1_data2");
        firstname1.add("firstname1_data3");
        firstname1.add("firstname1_data4");
        firstname1.add("firstname1_data5");
        firstname1.add("firstname1_data6");
        firstname1.add("firstname1_data7");
        firstname1.add("firstname1_data8");
        firstname1.add("firstname1_data9");
        firstname1.add("firstname1_data10");

        first.add("first_data1");
        first.add("first_data2");
        first.add("first_data3");
        first.add("first_data4");
        first.add("first_data5");
        first.add("first_data6");
        first.add("first_data7");
        first.add("first_data8");
        first.add("first_data9");
        first.add("first_data10");

        //Now copying value of first to firstname, as your requirement
        //Please refer http://www.java-examples.com/append-all-elements-other-collection-java-arraylist-example for sample code to concat two lists.
        firstname1.addAll(first);

        //Lets show your data into list view

        // Get a handle to the list view
        ListView lv = (ListView) findViewById(R.id.custom_list_view);

        lv.setAdapter(new ArrayAdapter<String>(CustomListView.this,
                android.R.layout.simple_list_item_1, firstname1));
        //Please refer http://developer.android.com/reference/android/widget/ListView.html for details of setAdapter()
    }
}
List<String> stringsList= new ArrayList<>();
stringsList.add("A string");
stringsList.add("another string");
stringsList.add("and one more");

List<Integer> integersList = new ArrayList<>();
integersList.add(1337);
integersList.add(1338);
integersList.add(1339);

// New list containing all the items form
// stringsList and integersList
List<Object> allIWeHave= new ArrayList<>();
allIWeHave.addAll(stringsList);
allIWeHave.addAll(integersList);

//while fetching you check either item is Integer or String
if(allIWeHave.get(0) instanceof Integer){
//Integer value
}else{
//String value
}