如何在android中创建下一页按钮(点击进入下一个片段)
我是Android编码的新手。我尝试在MainActivity上创建下一个按钮,我想单击并转到下一个片段(我有3个片段)。请引导我。我的代码如下如何在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
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