创建列表的动态方式<&燃气轮机;在运行时使用java添加值

创建列表的动态方式<&燃气轮机;在运行时使用java添加值,java,android,android-studio,Java,Android,Android Studio,我是android新手。我有一个可扩展的课程列表视图,其中一个主题有n个讲座,并添加如下数据: List<String> Topic1 = new ArrayList<String>(); Topic1.add("Lecture 1"); Topic1.add("Lecture 2"); Topic1.add("Lecture 3"); Topic1.add("Lecture 4"); Topic1.add("Lecture 5"); List<String>

我是android新手。我有一个可扩展的课程列表视图,其中一个主题有n个讲座,并添加如下数据:

List<String> Topic1 = new ArrayList<String>();
Topic1.add("Lecture 1");
Topic1.add("Lecture 2");
Topic1.add("Lecture 3");
Topic1.add("Lecture 4");
Topic1.add("Lecture 5");

List<String> Topic2 = new ArrayList<String>();
Topic2.add("Lecture 1");
Topic2.add("Lecture 2");
Topic2.add("Lecture 3");
Topic2.add("Lecture 4");
Topic2.add("Lecture 5");

List<String> Topic3 = new ArrayList<String>();
Topic3.add("Lecture 1");
Topic3.add("Lecture 2");
Topic3.add("Lecture 3");
Topic3.add("Lecture 4");
Topic3.add("Lecture 5");

expandableListDetail.put("Topic 1", Topic1);
expandableListDetail.put("Topic 2", Topic2);
expandableListDetail.put("Topic 3", Topic3);
List Topic1=new ArrayList();
主题1.添加(“第1课”);
主题1.添加(“第2课”);
主题1.添加(“第3课”);
主题1.添加(“第4课”);
主题1.添加(“第5课”);
List Topic2=新的ArrayList();
专题2.添加(“第1课”);
主题2.添加(“第2课”);
主题2.添加(“第3课”);
专题2.添加(“第4课”);
主题2.添加(“第5课”);
List Topic3=新的ArrayList();
专题3.添加(“第1课”);
专题3.添加(“第2课”);
专题3.添加(“第3课”);
专题3.添加(“第4课”);
专题3.添加(“第5课”);
expandableListDetail.put(“主题1”,主题1);
expandableListDetail.put(“主题2”,主题2);
expandableListDetail.put(“主题3”,主题3);

但是,如果有更多的主题和讲座,我需要一种高效的方法来创建列表并在运行时添加值,但我不知道如何做到这一点。

您应该改用RecyclerView,它类似于ListView,但功能更强大。您只需创建一个适配器类来处理所有项目,然后每当更新列表时,通过调用Adapter.notifyDatasetChanged()传播更改


这是一篇关于入门的好文章。

如果您的应用程序是服务器端的,请尝试以下内容: 首先创建列表的列表

List<List<String>> topicDataList = new ArrayList<List<String>>();
List-topicDataList=new-ArrayList();
创建父列表和子列表,并在其中插入响应数据,然后

for (int j = 0; j < parentList.size(); j++) {
            List<String> tempList = new ArrayList<String>();

            for (int i = 0; i < childList.size(); i++) {

                    tempList.add(childList.get(i).getChild_name());

                }
            }
            topicDataList.add(tempList);

        }
        for (int k = 0; k < parentList.size(); k++) {

            expandableListDetail.put(parentList.get(k).getChild_name(), topicDataList.get(k));
        }
return expandableListDetail;
for(int j=0;j
制作一个本地json文件并对其进行解析,或者将您的逻辑移动到服务器端并通过API服务使用它。试试RecyclerView的Use ExpandableListAdapter,示例如下:谢谢,但我目前采用的静态方式是@antygravity