具有一个SubItem的ListView

时间:2018-08-12 10:46:09

标签: java android listview subitem

我知道有人问过几次。但是无论如何,每个答案都太抽象了,根本不适合我的问题。

好的,正如问题所述,我需要一个列表,其中每个项目都有一个子项目。我已经有一个项目列表,但是没有子项目。如下所示,我已经有两个ArrayList,第一个包含listItems,第二个包含subItems。因此,用这两个解决这个问题将是最佳的。

我所拥有的:

listView = view.findViewById(R.id.explore_list);
        listView.setOnItemClickListener(this);

        try {
            ArrayList<String> arrayList = new ArrayList<>();
            ArrayList<String> secondArrayList = new ArrayList<>();

            for (Integer i = 0; i < DataManager.data.getJSONObject(DataManager.dataTableDefinition[0]).length(); i++) {
                arrayList.add(DataManager.data.getJSONObject(DataManager.dataTableDefinition[0]).getJSONObject(i.toString()).getString("Name"));
                secondArrayList.add(DataManager.data.getJSONObject(DataManager.dataTableDefinition[0]).getJSONObject(i.toString()).getString("Beschreibung"));
            }

            ArrayAdapter<String> arrayAdapter = new ArrayAdapter<>(Objects.requireNonNull(getActivity()), android.R.layout.simple_list_item_1, arrayList);
            listView.setAdapter(arrayAdapter);
        } catch (Exception ignored){}

注意: DataManager.data.getJSONObject(DataManager.dataTableDefinition[0]).getJSONObject(i.toString()).getString("Name")DataManager.data.getJSONObject(DataManager.dataTableDefinition[0]).getJSONObject(i.toString()).getString("Beschreibung")输出一个字符串,与此处无关。因此可以忽略它们。

2 个答案:

答案 0 :(得分:1)

您要创建类似的东西吗?

非常简单,这是我为您准备的演示项目: https://github.com/hiepxuan2008/basic-recyclerview-android 。希望它能对您的问题有所帮助,谢谢!

enter image description here

答案 1 :(得分:0)

您可以创建一个具有主要项目及其子项目属性的类,然后使用您的类而不是字符串创建ArrayList。