android - 如何使用 fragment 中的按钮更改 View Pager 中的 fragment ?

标签 android android-viewpager

<分区>

我在其中有一个名为 RegisterActivity 的 Activity ,我正在实现包含两个 fragment 的 ViewPager。这是 Activity 代码

public class RegisterActivity extends AppCompatActivity{

private Context context;
private Toolbar toolbar;
private TabLayout tabLayout;
public static ViewPager viewPager;
private ViewPagerAdapter adapter;

@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    context = RegisterActivity.this;

    viewPager = findViewById(R.id.viewpager);
    setupViewPager(viewPager);

    tabLayout = findViewById(R.id.tabs);
    tabLayout.setupWithViewPager(viewPager);

}

private void setupViewPager(ViewPager viewPager) {
    adapter = new ViewPagerAdapter(getSupportFragmentManager());
    adapter.addFragment(new FragmentOne(), "Step 1");
    adapter.addFragment(new FragmentTwo(), "Step 2");
    viewPager.setAdapter(adapter);
}

class ViewPagerAdapter extends FragmentPagerAdapter {

    private final List<Fragment> fragmentList = new ArrayList<>();
    private final List<String> fragmentTitleList = new ArrayList<>();

    public ViewPagerAdapter(FragmentManager manager) {
        super(manager);
    }

    @Override
    public Fragment getItem(int position) {
        return fragmentList.get(position);
    }

    @Override
    public int getCount() {
        return fragmentList.size();
    }

    public void addFragment(Fragment fragment, String title) {
        fragmentList.add(fragment);
        fragmentTitleList.add(title);
    }

    @Nullable
    @Override
    public CharSequence getPageTitle(int position) {
        return fragmentTitleList.get(position);
    }
}

第一个 fragment 有一个 NEXT 按钮。按下此按钮时,我希望 View 寻呼机滚动到 FragmentTWo。同样,FragmentTwo 有一个 BACK 按钮,我希望 View 寻呼机在按下 BACK 按钮(存在于 FragmentTwo 布局中)时滚动到 fragmentOne。

最佳答案

RegisterActivity.viewpager.setCurrentItem( fragment 的位置);

//点击您所在的 fragment 中的按钮执行此操作,您只需要具体说明 fragment 在寻呼机适配器中的位置

关于android - 如何使用 fragment 中的按钮更改 View Pager 中的 fragment ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53387379/

相关文章:

android - 在 Android AlphabetIndexer 中组合大小写字母

java - 检测 Android Activity 子类中的连接变化

android - 像在 viewpager 中一样在可翻转堆栈 View 中排列 ImageView

Android - ListView 中的延迟点击

android - 当我第二次打开父 fragment 时,我的 Viewpager 崩溃了

android - fragment 选项卡 viewpager 问题

java - 将 'Web, 28 Aug 2014 15:47' 格式的日期转换为正确的格式

android - 在android中使用基于密码的加密

android - Release build crashlytics 不在崩溃报告中发送行号?

带有 viewPager 和选项卡的 java.lang.IllegalStateException Activity