Есть ли способ заставить элементы RecyclerView переходить на определенные страницы в ViewPager? Как содержание в книге - PullRequest
0 голосов
/ 02 ноября 2019

Я делаю приложение для Корана, то есть мне нужно действие, содержащее список, показывающий SurahNames (я сделал это RecyclerView) и OnClick (я сделал полнофункциональный OnItemClick), он переходит на свою конкретную страницу в другом действии, содержащем ViewPager(Невозможно достичь этого)

Я попытался установить переключатель (позиция int), регистры представляют индексы элементов RecyclerViews, начиная с (случай 0 :). в каждом случае я делаю это, чтобы перейти на определенную страницу через Intent.putExtra ().

        @Override
        public void onItemClicked(RecyclerView recyclerView, int position, View v) {
            Intent intent = new Intent(SurahListActivity.this, MushafActivity.class);
            int fatihah = 0;
            int baqarah = 1;
            int aalImran = 48;
            switch (position) {
                case 0:
                    intent.putExtra("listIndex", fatihah);
                    break;
                case 1:
                    intent.putExtra("listIndex", baqarah);
                    break;
                case 2:
                    intent.putExtra("listIndex", aalImran);
                    break;
            }
            startActivity(intent);
        }
    });

    Intent intent = getIntent();
    int pageIndex = intent.getIntExtra("listIndex", -1);

    if (pageIndex == 0) {
        mViewPager.setCurrentItem(0, false);
    } else if (pageIndex == 1) {
        mViewPager.setCurrentItem(1, false);
    } else if (pageIndex == 2) {
        mViewPager.setCurrentItem(48, false);
    } //And so on

программа действительно каждый раз получает правильный listIndex, то есть, если я нажимаю на первый элемент в RecyclerView,Я listIndex = 0, второй я получаю listIndex = 1, и так далее

, но программа не может открыть нужные страницы в ViewPager. например, если я нажимаю на первый элемент, я получаю страницу 0 в ViewPager. если я нажимаю второй элемент, я должен получить страницу 1 на ViewPager, но я также получаю 0. третий элемент, я должен получить страницу 48, но я получаю 0. и так далее

...