通过intent </string []>传递列表<string []>

时间:2013-03-08 08:54:29

标签: java android android-intent

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

3 个答案:

答案 0 :(得分:4)

我会把它放在序列化中,然后将bundle中的serializable对象传递给下一个activity。

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

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

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

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

希望它有所帮助。

答案 1 :(得分:-1)

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

离。

 public class Util {

     public static List<String[]>  mystaticlist;

}

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

    List<String[]>  mystaticlist = Util.mystaticlist;

答案 2 :(得分:-1)

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

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

i.putExtra("strings", list);

要检索它:

Intent i = . . .;
ArrayList<String[]> list = (ArrayList<String[]>) getSerializableExtra("strings");