【发布时间】:2015-12-03 06:19:26
【问题描述】:
我有几个List<String> 变量要从Splash 传递到主要活动:
1) 我在某处读到,我可以将它们作为ArrayList<String> 从Splash 传递到Main,它可以工作......即
我只能收到第一个 ArrayList<String> 变量。在下面的捆绑包中,我无法收到第二个 ArrayList<String>. (array_list2) 为什么?
2) 如何将ArrayList<LatLng> 从一个活动传递到另一个活动
第一个活动:
Intent intent = new Intent(SplashActivity.this, MainActivity.class);
Bundle b=new Bundle();
b.putStringArrayList("array_list1",(ArrayList<String>)Names);
b.putStringArrayList("array_list2",(ArrayList<String>)City);
b.putStringArrayList("array_list3",(ArrayList<String>)Country);
b.putStringArrayList("array_list4",(ArrayList<String>)Code);
b.putStringArrayList("array_list5",(ArrayList<LatLng>)coordinates); //ERROR in this line, type mismatch!
intent.putExtras(b);
startActivity(intent);
第二个活动:
Bundle b = getIntent().getExtras();
if (b != null) {
testList1 = b.getStringArrayList("array_list1");
testList2 = b.getStringArrayList("array_list2"); //THIS gives the same arraylist as testList1 and it is incorrect!
Log.e("TESTLIST1",testList1.toString()); //just using Log.e to view o/p as test
Log.e("TESTLIST2",testList1.toString());
请回答我的两个问题。其他主题都没有帮助我,我花了两个多小时在这上面。 谢谢。
【问题讨论】:
-
为什么要将每个对象都转换为
ArrayList<String>? -
方法 putStringArrayList 仅支持 ArrayList
,而 List 没有其他方法
标签: android android-intent android-activity arraylist android-bundle