0

我想将List<String[]>意图传递给活动,然后检索它。任何人都知道如何正确地做到这一点?谢谢

4

3 回答 3

4

我会将它放入一个可序列化的对象中,然后将包中的可序列化对象传递给下一个活动。

Bundle bundle = new Bundle();
bundle.putSerializable("list", serializableList);

mainIntent.putExtras(bundle);
startActivity(mainIntent);

java.util.ArrayList已经实现了Serializable接口。所以这对你的目的来说是完美的。然后在另一个活动上,您可以使用以下代码来检索列表

Bundle bundle = getIntent().getExtras();
userInfo = (ArrayList) bundle.getSerializable("list");

希望能帮助到你。

于 2013-03-08T08:56:50.633 回答
-1

将变量放在对象的静态属性中。

前任。

 public class Util {

     public static List<String[]>  mystaticlist;

}

并从第二个活动静态访问它:

    List<String[]>  mystaticlist = Util.mystaticlist;
于 2013-03-08T08:59:29.020 回答
-1

这是可能的,但是您需要将其作为 Serializable 传递,并且在提取额外内容时需要转换结果。由于 ArrayList 实现了 Serializable 并且 String[] 本质上是可序列化的,因此代码很简单。要通过它:

ArrayList<String[]> list = . . .;
Intent i = . . .;

i.putExtra("strings", list);

要检索它:

Intent i = . . .;
ArrayList<String[]> list = (ArrayList<String[]>) getSerializableExtra("strings");
于 2013-03-08T09:03:36.110 回答