如何使用后退/后退按钮浏览片段

时间:2019-01-26 09:26:54

标签: android android-fragments

我当前正在编写我的第一个应用程序,我想修改我的“选项卡式活动”,以便用户可以使用后退和下一步按钮(而不是通过滑动)在片段之间导航。

这些片段用于用户交互,并包含一些动态填充的textViews和radioButtons。当我单击带有以下代码的“ fab”按钮时,我试图更改为特定的片段,但这不起作用,因为我只得到一个空白片段:

// Create the adapter that will return a fragment for each of the three
// primary sections of the activity.
mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager());

// Set up the ViewPager with the sections adapter.
mViewPager = findViewById(R.id.container);
mViewPager.setAdapter(mSectionsPagerAdapter);

FloatingActionButton fab = findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        Fragment fragment = mSectionsPagerAdapter.getItem(2);
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.container, fragment);
        fragmentTransaction.addToBackStack(null);
        fragmentTransaction.commit();
    }
});

如何使用按钮在片段中前后移动?我认为最好在活动中而不是在片段中声明这些按钮,不是吗?这些按钮的onClick方法需要更改什么?

1 个答案:

答案 0 :(得分:0)

在下一个按钮上写下

 NextFragment fragment = new NextFragment();
    android.app.FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = 
    fragmentManager.beginTransaction();
    fragmentTransaction.add(R.id.content, fragment);
    fragmentTransaction.addToBackStack(NextFragment.class.toString());
    fragmentTransaction.commit();

只需在上一个按钮上写上

    getActivity().getFragmentManager().popBackStack();