代码之家  ›  专栏  ›  技术社区  ›  Faizan Haidar Khan

如何使用片段中的按钮更改视图寻呼机中的片段?[副本]

  •  0
  • Faizan Haidar Khan  · 技术社区  · 6 年前

    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);
        }
    }
    

    }

    碎片一有一个下一个按钮。当按下这个按钮时,我想查看寻呼机滚动到FragmentTWo。同样,FragmentTwo有一个BACK按钮,当按下BACK按钮(在FragmentTwo布局中存在)时,我希望视图寻呼机滚动到fragmentOne。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Rohit Sharma    6 年前

    RegisterActivity.viewpager.setCurrentItem(碎片的位置);

    //只需单击片段中的按钮,就可以确定片段在寻呼机适配器中的位置