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 项目位置