[英]How can I pass the entire ListView item from one Activity to another in android
我想将整个ListView项目从一个Activity传递到另一个Activity。 我的代码:
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
});
如果E类型是Serializable,则可以以相同的方式传递ArrayList。
您将调用putExtra (String name, Serializable value)
进行存储,并getSerializableExtra (String name)
进行检索。
例:
ArrayList<String> myList = new ArrayList<String>();
intent.putExtra("mylist", myList);
在另一个活动中:
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");
请注意,序列化可能会导致性能问题:这需要时间,并且将分配许多对象(因此必须进行垃圾回收)。
好了,您应该从适配器获取列表(不是ListList的ArrayList),并将其提供给当前活动。 从那里,您应该将其放入用于启动第二个活动的Intent中。 然后从第二个活动的意图中获取它,并将其传递给第二个活动的适配器。
只需将列表从firstActivity发送到secondActivity。
FirstActivity
ArrayList<String> myList = new ArrayList<String>();
intent.putExtra("mylist", myList);
在secondActivity中,接收列表并将其设置为listView或将其发送到customAdatper类(如果已创建CustomListView)。 确保您还清除了secondActivity中的ListView。
SecondActivity
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.