您好我想将Arraylist
从activity
传递到另一个putStringArrayListExtra()
。我使用"The method putStringArrayListExtra(String,ArrayList is undefined for the type bundle."
,但显示错误:ArrayList
是否还有其他方法可用于传递String test[]=new String[3];
ArrayList<String[]> al=new ArrayList<String[]>();
int x,y;
test[0]="1";
test[1]="2";
test[2]="3";
al.add(test);
test = new String[3];
test[0]="4";
test[1]="5";
test[2]="6";
al.add(test);
Bundle list_bundle=new Bundle();
list_bundle.putStringArrayListExtra("lists",al);
Intent list_intent= new Intent(v.getContext(), view_all_selected.class);
list_intent.putExtras(list_bundle);
startActivityForResult(list_intent, 2);
?
{{1}}
答案 0 :(得分:13)
尝试下面的一个将1-D数组传递给附加组件中的Arraylist
ArrayList<String> al = new ArrayList<String>();
String arr[] = {"Zero", "One", "Two"};
//Convert string array to a collection
Collection l = Arrays.asList(arr);
al.addAll(l);
i.putStringArrayListExtra("ar", al);
答案 1 :(得分:12)
试试这个对我有用
第一项活动
ArrayList<String> ar=new ArrayList<String>();
ar.add("Apple");
ar.add("Banana");
Intent i=new Intent(this,Route.class);
i.putStringArrayListExtra("list", ar);
startActivity(i);
第二项活动
ArrayList<String> ar1=getIntent().getExtras().getStringArrayList("list");
答案 2 :(得分:3)
第一项活动:
ArrayList<String> al = new ArrayList<String>();
int ROWS = 2;
int COLS = 1;
String[][] a2 = new String[ROWS][COLS];
a2[0][0]="one";
a2[1][0]="two";
for(int i=0;i<ROWS;i++)
{
for(int j=0;j<COLS;j++)
{
al.add(a2[i][j]);
}
}
i.putStringArrayListExtra("ar", al);
i.putExtra("ROWS", ROWS);
i.putExtra("COLS", COLS);
第二项活动:
ArrayList<String> test = new ArrayList<String>();
test=getIntent().getExtras().getStringArrayList("ar");
int ROWS=getIntent().getExtras().getInt("ROWS");
int COLS=getIntent().getExtras().getInt("COLS");
String[][] a2 = new String[ROWS][COLS];
int index=0;
for(int i=0;i<ROWS;i++)
{
for(int j=0;j<COLS;j++)
{
a2[i][j]=test.get(index++);
}
}
答案 3 :(得分:1)
您必须定义String类型的ArrayList。你不能在putStringArrayListExtra中传递Generic ArrayList。 下面是正确的代码。
-----
ArrayList<String> al = new ArrayList<String>();
------
-------
list_bundle.putStringArrayListExtra("lists",al);
------
现在在其他活动中访问此ArrayList。
ArrayList<String> cl= new ArrayList<String>();
cl =getIntent().getExtras().getStringArrayList("lists");