如何在android中的其他arraylist中添加一个arraylist?

Raa*_*dha 5 android

我创建了3个arraylists并存储了数据.我需要将一个arraydata传递给其他页面,因此我将我的个别数组添加到主数组中.但是当我向其他数组添加一个数组时,数据没有被添加到该数组中.这是我的代码:

static ArrayList<ArrayList<String>> stringList1=new ArrayList<ArrayList<String>>();
static ArrayList<ArrayList<String>> stringList3; 

stringList1 = Mypage.stringList1;

 ArrayList<String> optionlist = new ArrayList<String>();
stringList3 = new ArrayList<ArrayList<String>>();stringList3 = dbAdapter.selectRecordsFromDBList(query2, null); 
 for (int i = 0; i < stringList3.size(); i++) {
    optionlist = stringList3.get(i);
    System.out.print("option list size");
    System.out.print(optionlist.size());
    stringList1.add(optionlist);
    System.out.println("total stringlist1"+stringList1.get(0));
Run Code Online (Sandbox Code Playgroud)

我从Mypage获取stringList1数组值并在新页面中访问它.在新页面中,我试图通过给出stringList1.add(optionlist)将optionlist数组添加到stringList1,但数据没有添加.哪里出错了?请帮我解决这个问题...在此先感谢

Sun*_*hoo 13

使用addAll()它将指定ArrayList中的所有元素按指定Collection的Iterator返回的顺序附加到此列表的末尾.

stringList1.addAll(optionlist);而不是stringList1.add(optionlist);


Dha*_*dra 4

看到您的代码后,我可以猜测您遇到的问题是 arrayList 的元素未复制到另一个 arrayList 中。如果这是您的问题,请更改您的代码,如下所示

static ArrayList<ArrayList<String>> stringList1=new ArrayList<ArrayList<String>>();
static ArrayList<ArrayList<String>> stringList3; 

stringList1 = Mypage.stringList1;

ArrayList<String> optionlist;
stringList3 = new ArrayList<ArrayList<String>>();
stringList3 = dbAdapter.selectRecordsFromDBList(query2, null); 

 for (int i = 0; i < stringList3.size(); i++) {
    optionlist = new ArrayList<String>();
    optionlist = stringList3.get(i);
    System.out.print("option list size");
    System.out.print(optionlist.size());
    stringList1.add(optionlist);
    System.out.println("total stringlist1"+stringList1.get(0));
 }
Run Code Online (Sandbox Code Playgroud)