Android 单击RecyclerView中的一行即可打开Viewpager

Android 单击RecyclerView中的一行即可打开Viewpager,android,mysql,android-fragments,android-viewpager,android-recyclerview,Android,Mysql,Android Fragments,Android Viewpager,Android Recyclerview,我正在从SQL Db将项目加载到Recyclerview中。recyclerview仅显示从数据库获取的标题。这些标题在DB的“故事”栏下有相应的文本。我试图实现这一点,当用户单击recyclerview上的一行(如第0行)时,它会打开一个ViewPager活动,加载一个片段,该片段将加载数据库中存储的被单击行的相应“故事”,然后能够水平滑动到下一行(第1行),并显示相应的故事 我不知道如何才能在刷卡时从PagerAdapter将标题加载到viewpager,并获得存储在DB中的相应故事以相应地

我正在从SQL Db将项目加载到Recyclerview中。recyclerview仅显示从数据库获取的标题。这些标题在DB的“故事”栏下有相应的文本。我试图实现这一点,当用户单击recyclerview上的一行(如第0行)时,它会打开一个ViewPager活动,加载一个片段,该片段将加载数据库中存储的被单击行的相应“故事”,然后能够水平滑动到下一行(第1行),并显示相应的故事

我不知道如何才能在刷卡时从PagerAdapter将标题加载到viewpager,并获得存储在DB中的相应故事以相应地显示

public class TabsPagerAdapterQuest extends FragmentPagerAdapter {
private List<RememberItems> rememberItemsList;
private RememberAdapter remAdapter;
VerDbHandler verDbHandler;
private Context context;


public TabsPagerAdapterQuest(FragmentManager fragmentManager, Context c, List<RememberItems> rememberItemsList) {
    super(fragmentManager);
    context = c;
    this.rememberItemsList = rememberItemsList;
    this.verDbHandler = new VerDbHandler(context);
}

// Returns total number of pages
@Override
public int getCount() {
    rememberItemsList = verDbHandler.getAllRememberItems();
    return rememberItemsList.size();
}

// Returns the fragment to display for that page
@Override
public Fragment getItem(int position) {
    rememberItemsList = verDbHandler.getAllRememberItems();
    String _story = rememberItemsList.get(position).getStory();
    switch (position) {
        case 0:
            return QuestionFragment.newInstance(0, _story);
        default:
            return null;
    }
}

// Returns the page title for the top indicator
@Override
public CharSequence getPageTitle(int position) {
    switch (position) {
        case 0:
            return ("RecyclerTitle");
        default:
            return null;
    }
}
公共类选项卡SpagerAdapterQuest扩展了FragmentPagerAdapter{
私有列表rememberItemsList;
私人记忆器再适应;
VerDbHandler VerDbHandler;
私人语境;
公共选项卡SpagerAdapterQuest(FragmentManager FragmentManager、上下文c、列表rememberItemsList){
超级(碎片管理器);
上下文=c;
this.rememberItemsList=rememberItemsList;
this.verDbHandler=新的verDbHandler(上下文);
}
//返回总页数
@凌驾
public int getCount(){
rememberItemsList=verDbHandler.getAllRememberItems();
返回rememberItemsList.size();
}
//返回要为该页显示的片段
@凌驾
公共片段getItem(int位置){
rememberItemsList=verDbHandler.getAllRememberItems();
String _story=rememberItemsList.get(position.getStory();
开关(位置){
案例0:
返回QuestionFragment.newInstance(0,_story);
违约:
返回null;
}
}
//返回顶部指示器的页面标题
@凌驾
公共字符序列getPageTitle(int位置){
开关(位置){
案例0:
退货(“回收商”);
违约:
返回null;
}
}
}


我正在尝试从recyclerview动态获取标题,传递所需位置/SN以从DB加载相应的故事,然后显示在“问题片段”中。

我使用过viewpager,但我始终能够控制加载到viewpager中的项目的位置和标题。与这里不同的是,我觉得我需要在pagerAdapter中重新加载列表,我真的没有为此编写任何代码,因为我正在尝试获得最佳逻辑来解决它。@RosárioPereiraFernandes请参见编辑。这可能对您有帮助: