Listview 的项目位置 0 持有另一个包含 10 个项目的列表视图,每个项目打开单个活动但不同的文本数据

Posted

技术标签:

【中文标题】Listview 的项目位置 0 持有另一个包含 10 个项目的列表视图,每个项目打开单个活动但不同的文本数据【英文标题】:Listview's item position 0 hold another listview with 10 items which each item open single activity but different text data 【发布时间】:2019-09-02 12:01:50 【问题描述】:

如果还不明白我的问题,请先查看图片。

第一个 listview 位置 0 持有 第二个 listview 有 10 个项目,它们都打开一个活动,但根据 listview 显示不同的文本数据从 10 个项目中单击项目。

示例,第一个listview位置0打开并显示第二个listview然后第二个listview位置0被点击,打开一个带有文本数据的活动在文本视图中。 现在打开第二个活动位置1,打开同一个活动,但是日期改变了。

我不想做 10 种不同的活动

我尝试了“put and getextra”,但没有得到我想要的正确结果。

第一个列表视图

第二个列表视图

ArrayList<MenuItems> items = new ArrayList<>();

ArrayList<MenuItems> task2Item = new ArrayList<>();

//================= First Listview==========
items.add(new MenuItems("Task 1", "Solved graphs"));

items.add(new MenuItems("Voca bulary 1", "Vocabulary related task 1, Structures"));

items.add(new MenuItems("Connectors 1 ", "How to start Essay Task 1, body-paragraph "));


items.add(new MenuItems("Task 2", "Solved essay "));

items.add(new MenuItems("Vocabulary 2", "Vocabulary related task 2, Structures"));

items.add(new MenuItems("Connectors 2 ", "How to start Essay Task 2, body-paragraphs "));


items.add(new MenuItems("Collocation", "Important thing to get high score"));

items.add(new MenuItems("Tips & Tricks", "Best Solutions"));


=========================================================

// listview which is inside first list view 's items ================================================================
task2Item.add(new MenuItems("Crime","This essay about crime"));
task2Item.add(new MenuItems("Education","This essay about Education"));
task2Item.add(new MenuItems("University","This essay about University"));
task2Item.add(new MenuItems("Food","This essay about Food"));
task2Item.add(new MenuItems("Games","This essay about crime"));
task2Item.add(new MenuItems("Experience","This essay about crime"));
task2Item.add(new MenuItems("This is another essay","This essay about crime"));
task2Item.add(new MenuItems("This is another essay","This essay about crime"));

【问题讨论】:

【参考方案1】:

将您想要的对象设置为可打包对象,并将对象数组作为参数传递,如下所示:

Intent intent = new Intent(getApplicationContext(),YourActivity.class);
Bundle bundle = new Bundle();
bundle.putParcelable("data", Objects);
intent.putExtras(bundle);
startActivity(intent);

那么就可以得到这个arrayList如下:

    Bundle bundle = getIntent().getExtras();
    Objects = bundle.getParcelable("data");

【讨论】:

我可以在不同的Textviews中传递数据吗?布局将有 5 个文本视图。一个用于标题、介绍和段落,感谢您的回答 你能建议我更多的主题,我应该涵盖相关的 android 和数据

以上是关于Listview 的项目位置 0 持有另一个包含 10 个项目的列表视图,每个项目打开单个活动但不同的文本数据的主要内容,如果未能解决你的问题,请参考以下文章

通过 uri / 通过它包含的数据获取 ListView 项目位置

如何获取listView位置值并通过intent传递给另一个类

Android Listview 多个按钮点击

如何在另一个 Fragment 中更新 ListView?

通过重新排序项目的WPF ListView动画?

Android ListView 所选项目保持突出显示