- 此问题在此处已有答案**:
11年前关闭了。
- 可能重复:**
How to put a List in intent
我想从一个活动传递一个**列表到另一个活动。到目前为止我还没有成功。这是我的代码。
//desserts.java
private List<Item> data;
@Override
public void onCreate(Bundle icicle) {
//Code
data.add(new Item(10, "dessert1"));
data.add(new Item(11, "dessert2"));
data.add(new Item(12, "dessert3"));
data.add(new Item(13, "dessert4"));
data.add(new Item(14, "dessert5"));
data.add(new Item(15, "dessert6"));
data.add(new Item(16, "dessert7"));
data.add(new Item(17, "dessert8"));
data.add(new Item(18, "dessert9"));
data.add(new Item(19, "dessert10"));
data.add(new Item(20, "dessert11"));
//Some more code
}
@Override
public void onClick(View v) {
Intent view_order_intent = new Intent(this, thirdpage.class);
view_order_intent.putExtra("data", data);
startActivity(view_order_intent);
}
但是我不能这样把 * 数据 * 放进去,我问了这个问题earlier,但没有发生太多事情。
请帮助。也请帮助我如何在下一个活动中获得 * 数据 *。
4条答案
按热度按时间piwo6bdm1#
假设List是一个字符串列表,将data设为
ArrayList<String>
并使用intent.putStringArrayListExtra("data", data)
下面是您需要的代码框架:
1.申报清单
1.在适当位置初始化列表
并适当地将数据添加到
test
。1.传递到意图,如下所示:
1.按如下方式检索数据:
wvyml7n52#
如果你使用数组列表而不是列表,那么你的问题也会得到解决。在你的代码中只需要将列表修改为数组列表。
368yc8dk3#
您可以使用以下两种方法来执行此操作
本例将向您展示如何使用serializable实现它
现在来看一下this.这个链接将简要介绍如何使用Parcelable实现它。
看看this.,这个讨论会让你知道哪种实现方式更好。
谢谢。
gcuhipw94#