我想将List<String[]>
意图传递给活动,然后检索它。任何人都知道如何正确地做到这一点?谢谢
问问题
1624 次
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 回答