繁体   English   中英

我如何将整个ListView项目从一个Activity传递到android中的另一个项目

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM