Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/223.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在android中创建下一页按钮(点击进入下一个片段)_Android_Android Fragments - Fatal编程技术网

如何在android中创建下一页按钮(点击进入下一个片段)

如何在android中创建下一页按钮(点击进入下一个片段),android,android-fragments,Android,Android Fragments,我是Android编码的新手。我尝试在MainActivity上创建下一个按钮,我想单击并转到下一个片段(我有3个片段)。请引导我。我的代码如下 public class MainActivity extends FragmentActivity { private ViewPager mFmPager; private TextView mTvSkip; private Button mBtnNext; private String TAG = "Main" ; @Override

我是Android编码的新手。我尝试在MainActivity上创建下一个按钮,我想单击并转到下一个片段(我有3个片段)。请引导我。我的代码如下

public class MainActivity extends FragmentActivity {

private ViewPager mFmPager;
private TextView mTvSkip;
private Button mBtnNext;

private String TAG =  "Main" ;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTvSkip = (TextView) findViewById(R.id.tvSkip);
    mBtnNext = (Button) findViewById(R.id.btnFooter);
    mFmPager = (ViewPager) findViewById(R.id.fmPager);

    mBtnNext.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Log.i(TAG,"Click");

            //TODO make next page(fragment) button

        }

    });
    final MyPageAdapter adapter = new MyPageAdapter(getSupportFragmentManager());
    Log.i(TAG,"onCreate");
    final RadioGroup mRdGroup = (RadioGroup) findViewById(R.id.rdGroup);

    mFmPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
        @Override
        public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
        }

        @Override
        public void onPageSelected(final int position) {
            switch (position) {
                case 0:
                    mRdGroup.check(R.id.rdBtn1);
                    mTvSkip.setText("SKIP");
                    mBtnNext.setText("NEXT");
                    Log.i(TAG,"Case 0");
                    break;
                case 1:
                    mRdGroup.check(R.id.rdBtn2);
                    mTvSkip.setText("SKIP");
                    mBtnNext.setText("NEXT");
                    Log.i(TAG,"Case 1");
                    break;
                case 2:
                    mRdGroup.check(R.id.rdBtn3);
                    mTvSkip.setText(null);
                    mBtnNext.setText("LET'S SIGN UP");
                    Log.i(TAG,"Case 2");

                    // mBtnNext.setOnClickListener(new View.OnClickListener() {
                    //   @Override
                    // public void onClick(View view) {
                    //   Intent i = new Intent(getApplicationContext(),DummyPage.class);
                    // startActivity(i);
                    //Toast.makeText(MainActivity.this, "go to dummy sign up page", Toast.LENGTH_SHORT).show();
                    //}
                    //});
                    break;
            }

        }

        @Override
        public void onPageScrollStateChanged(int state) {

        }
    });


    mTvSkip.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent i = new Intent(getApplicationContext(), DummyPage.class);
            startActivity(i);
            Toast.makeText(MainActivity.this, "go to dummy sign up page", Toast.LENGTH_SHORT).show();
        }
    });

    mFmPager.setAdapter(adapter);

  }
}
适配器

public class MyPageAdapter extends FragmentPagerAdapter{

public MyPageAdapter(FragmentManager fm){
    super(fm);
}

public int getCount(){
    return 3;
}

public Fragment getItem(int position){
    if (position == 0)
        return new OneFragment();
    else if (position == 1)
        return new TwoFragment();
    else if (position == 2)
        return new ThreeFragment();
     return null;
   }
 }

如果您想更改片段,您需要使用
FragmentManager
及其方法。

尝试将其放入您的活动中

 public static void setFragmentPage(int i) {
            pager.setScrollDurationFactor(1);
            pager.setCurrentItem(i, true);        
        }
在你的片段按钮中调用这个

activity.setFragmentPage(0);

使用您的
ViewPager
可以非常轻松地完成此操作:

mFmPager.setCurrentItem(mFmPager.getCurrentItem() + 1, true);

签出“片段事务”详细说明-我应该把它放在哪里?你能确切地告诉我吗?谢谢。在您的
onClick
实现中,当然是
mBtnNext