【发布时间】:2015-09-23 08:18:56
【问题描述】:
我有 3 个活动,第一个活动(主要)、中间活动和最终活动。目前,我正在通过 Intent 发送可序列化的数组列表。当我创建一个从第一个活动中启动最终活动的意图时,这很有效,尽管它跳过了需要显示的中间活动。我遇到的问题是所有数据都来自第一个活动,我似乎无法将它从第一个活动发送到最终活动,并且仍然显示中间活动。我想知道是否应该尝试通过 SharedPreferences 发送 Arraylist?
List<String> proStrings = new ArrayList<>();
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.SendButton:
Intent intent = new Intent(FirstActivity.this, MiddleActivity.class);
intent.putExtra("proGolferArray", String.valueOf(i));
//CREATE BUNDLE AND ADD ARRAYLIST AS SERIALIZABLE
Bundle bundle = new Bundle();
bundle.putSerializable("PROGOLFER", (Serializable) proStrings);
//START NEW INTENT WITH ARRAYLIST BUNDLE PASSED IN
intentFinal = new Intent(this, FinalActivity.class);
intentFinal.putExtra("KEY", bundle);
startActivity(intent);
//startActivity(intentFinal);
//this doesn't look right, I must be doing this wrong....
break;
}
}
}
从 MiddleActivity,我启动了 FinalActivity,但是当我这样做时,First Activity 中 ArrayList 中的数据根本不会出现在 FinalActivity 中。有没有办法从 Middle Activity 启动“finalIntent”,以便将数据正确发送到 FinalActivity?
【问题讨论】:
-
那么你到底想达到什么目的?要不要先显示MiddleActivity,再显示finalActivity??
-
是的,我似乎找不到最终访问我的数组列表的方法。我已经研究了几个小时,发现有一种方法可以通过共享首选项传递数组列表......但我仍在试图弄清楚如何实现它。 @乔尔敏
标签: java android android-intent arraylist