带有一个 SubItem 的 ListView

ListView with one 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") 输出一个字符串,这里不相关。因此可以忽略它们。

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

你想创建这样的东西吗?

就这么简单,这是我给你的演示项目: https://github.com/hiepxuan2008/basic-recyclerview-android .希望对您的问题有所帮助,谢谢!