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