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

时间:2019-04-11 18:59:07

标签: java android android-activity android-listview

如果尚未了解我的问题,请先检查图片。

第一个列表视图位置 0 持有具有10个项目的第二个列表视图,它们都打开一个活动,但根据列表视图显示不同的文本数据从 10个项目中点击该项目。

示例,打开第一个列表视图位置0,并显示第二个列表视图,然后单击第二个列表视图位置0 ,打开一个包含文本数据的活动在textview中。 现在打开第二个活动位置1并打开相同的活动,但是日期已更改。

我不想进行10种不同的活动

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

第一个列表视图

first_list

第二个列表视图

second_list

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 个答案:

答案 0 :(得分: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");