我是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;
}
}
使用以下命令很容易做到ViewPager
:
mFmPager.setCurrentItem(mFmPager.getCurrentItem() + 1, true);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句