通过Intent传递ArrayList我试图使用意图将arrayList传递给另一个活动。这是第一个活动中的代码。case R.id.editButton: Toast.makeText(this, "edit was clicked", Toast.LENGTH_LONG).show(); Intent intent = new Intent(this, editList.class); intent.putStringArrayListExtra("stock_list", stock_list); startActivity(intent); break;这是我尝试在第二个活动中检索列表的地方。这里有问题吗?Intent i = new Intent(); //This should be getIntent(); stock_list = new ArrayList<String>(); stock_list = i.getStringArrayListExtra("stock_list");
3 回答
浮云间
TA贡献1829条经验 获得超4个赞
在您的接收意图中,您需要做:
Intent i = getIntent(); stock_list = i.getStringArrayListExtra("stock_list");
你拥有它的方式你刚刚创建了一个新的空意图而没有任何额外的东西。
如果你只有一个额外的,你可以将其浓缩为:
stock_list = getIntent().getStringArrayListExtra("stock_list");
跃然一笑
TA贡献1826条经验 获得超6个赞
如果你使用通用数组列表与类而不是像 特定类型
EX:
private ArrayList<Model> aListModel = new ArrayList<Model>();
这里,Model = Class
接收意图如下:
aListModel = (ArrayList<Model>) getIntent().getSerializableExtra(KEY);
必须记住:
这里Model-class必须实现如下: ModelClass实现Serializable
- 3 回答
- 0 关注
- 649 浏览
添加回答
举报
0/150
提交
取消