ArrayList<String> list = new ArrayList<String>();
list.add(p);
我想通过使用 putStringArray.am 的意图发送列表数据未能通过 getIntent() 检索。
请给我很好的语法来解析数据或示例代码
ArrayList<String> list = new ArrayList<String>();
list.add(p);
我想通过使用 putStringArray.am 的意图发送列表数据未能通过 getIntent() 检索。
请给我很好的语法来解析数据或示例代码
在您的接收意图中,您需要执行以下操作:
Intent i = getIntent();
my_list = i.getStringArrayListExtra("list");
ArrayList 实现Serializable
.
http://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html
假设你ArrayList
的类型是字符串
ArrayList<String> list = new ArrayList<String>();
list.add(p);
Intent i = new Intent(MainActivity.this,SecondActivity.class);
i.putExtra("key", list);
startActivity(i);
受到
Intent in = getIntent();
ArrayList<String> list = in.getStringArrayListExtra("key");
如果您的活动在同一进程中运行,也就是说,如果您不在清单文件中使用 android:proces 属性,那么您可以通过使用单例或静态字段轻松共享您需要的任何对象。Intent
由于您的活动已同步并在主 UI 线程中运行,因此无需在内部发送对象。如果你真的想把它封装成一个Intent
,你需要实现Parcelable
接口(你也可以使用Serializable
但它有更大的开销)。
第一个活动的代码
ArrayList<String> arraylist1= new ArrayList<String>();
Intent intent= new Intent(FirstActivity.this, SecondActivity.class);
Bundle Ext= new Bundle();
Ext.putStringArrayList("ArrayName", arraylist1);
intent.putExtras(Ext);
startActivity(intent);
并为您的第二个活动编写代码
ArrayList<String> arraylist2= new ArrayList<String>();
Intent intent= getIntent();
arraylist2 = intent.getExtras().getStringArrayList("Arrayname");