如何结合两个数组列表并显示在Android的ListView

我想将两个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<String> first = new ArrayList<String>(); 

现在我想把所有这些结合在一起,我希望它列在列表视图中。 这个怎么做?

Solutions Collecting From Web of "如何结合两个数组列表并显示在Android的ListView"

将两个ArrayList合并为一个

 firstname1.addAll(first); 

请参考这篇文章的示例代码来连接两个列表。

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

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

 <?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> 

现在Activity为CustomListView.java

 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> 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); 

要在列表视图中显示,您将需要一个适配器以及一个列表视图。 我build议你阅读关于ListView的Android Developer指南教程: Hello ListView

 public class HelloListView extends ListActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); List<String> b = new ArrayList<String>(); b.add("Boo"); b.add("Boo"); b.add("Boo"); setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, b)); } }