ExpandableListView OnChildClick Генерация ViewPager всех дочерних элементов родительской группы в виде фрагментов - PullRequest
0 голосов
/ 04 января 2019

Я совсем недавно начал разработку своего первого приложения для Android.

В настоящее время я просто работаю над принципами навигации, которые хотел бы реализовать, и изо всех сил стараюсь, чтобы один из них осуществился.

В настоящее время в NavDrawer у меня есть ExpandableListView, который будет создавать фрагмент разных типов на основе класса, который я создал для создания меню:

MenuModel

public class MenuModel {

public String menuName, defContent, ContentType;
public boolean hasChildren, isGroup, isContent;

public MenuModel(String menuName, boolean isGroup, boolean hasChildren, String defContent, boolean isContent, String ContentType) {
    this.menuName = menuName;
    this.defContent = defContent;
    this.isGroup = isGroup;
    this.hasChildren = hasChildren;
    this.isContent = isContent;
    this.ContentType = ContentType;
}

OnChildClick моего ExpandableListView

            public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {

            Fragment fragment = null;
            Class fragmentClass = null;

            if (childList.get(headerList.get(groupPosition)) != null) {
                MenuModel model = childList.get(headerList.get(groupPosition)).get(childPosition);
                if (model.isContent) {

                    switch(model.ContentType) {

                        case "Youtube": {
                            fragment = YouTubeFragment.newInstance(model.defContent);
                            break;
                        }
                        case "Web": {
                            fragment = WebFragment.newInstance(model.defContent);
                            break;
                        }
                    }

                    FragmentManager fragmentManager = getSupportFragmentManager();
                    fragmentManager.beginTransaction().replace(R.id.flContent, fragment).commit();

                    onBackPressed();
                }
            }

Со временем будет еще много типов контента.

Мне также удалось создать отдельный ViewPager, который в любом случае не связан ни с моим ExpandableListView, ни с моей MenuModel.

Я хотел бы, чтобы мой OnChildClick создал ViewPager с фрагментами для всех дочерних элементов родительского элемента выбранного дочернего элемента, а также применил логику из моей MenuModel к каждому фрагменту в ViewPager.

Также следует открыть ViewPager в правильной позиции на основе дочерней позиции в расширяемом списке просмотра. Я почти уверен, что смогу разобраться с этой частью, поскольку я немного об этом узнал, пока гуглял.

Но я не знаю, с чего начать, я попробовал поискать в Google, но все, что я могу найти, - это отдельные учебники по ViewPager и ExpandableListView - я не могу найти что-нибудь о связывании этих двух.

Может ли кто-нибудь предоставить и пример или указать мне в направлении учебника?

Извините, если я не использую правильные термины в этом пункте, я только начал учиться вчера.

Спасибо, Райан.

...