Я делаю приложение для Корана, то есть мне нужно действие, содержащее список, показывающий 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. и так далее