Android开发从一个activity设置跳转到另一个activity中的一个fragment中的一个viewpager中的某一个页面
程序员文章站
2022-03-29 17:05:40
...
最近做项目遇到一个问题,Android开发从一个activity设置跳转到另一个activity中的一个fragment中的一个viewpager中的某一个页面,也就是两个activity之前的转换,在这里就说为AActivity和Bactivity吧,AActivity中有两个fragment,一个是slidingFragment一个是contentFragment,其中contentFragment中的viewpager又有四个页面,view1,view2,view3以及view4,目前需要从BActivity跳转到这个view2,在解决这个问题居然花了整整两天的时间,新手学习Android的开发实在是心累啊..........如果直接在BActivity中写:
Intent intent=new intent(this,AActivity.class);
startActivity(intent);
如果直接这样跳转,只会跳转到AActivity中起始的默认界面,但是目前我们需要的其中一个fragment中的viewpager中的一个页面,在这里需要有参数的传递。因此在BActivity中设置监听的时候,需要携带一个参数,在BActivity中应该这样写:
public void onClick(View view) {
Intent intent=new Intent(BActivity.this,AActivity.class);
intent.putExtra("id",1); //在这里传递参数
BActivity.this.startActivity(intent);
}
上面的代码传递了参数,然后需要在AActivity中来接收参数,进行相应的相应。protected void onResume() {
int id=getIntent().getIntExtra("id",0);
if(id==1){
ContentFragment fragment=new ContentFragment();
FragmentManager fmanger=getSupportFragmentManager();
FragmentTransaction transaction=fmanger.beginTransaction();
transaction.replace(R.id.fl_content,fragment);
transaction.commit();
Intent i=new Intent();
i.setClass(AActivity.this, ContentFragment.class);
i.putExtra("id", 1);
}
通过上面的代码,现在该fragment为ContentFragment,然后在向ContentFragment传递参数,希望显示的是viewpager中的view2,在contentFragment中获取参数进行相应:@Override
public void onResume() {
int id=mActivity.getIntent().getIntExtra("id", 0);
System.out.println(id);
if(id==1){
mViewPager.setCurrentItem(1); //view2是viewPager中的第二个view,因此设置setCurrentItem(1)。
}
super.onResume();
}
大功告成了,一些小问题又不会有错误,但是又达不到自己预定的效果,真的是很烦,搞了那么久总算是弄出来了!!!!根据自己的需要设置传递的参数即可!!!
上一篇: vue中重置路由到某一个页面
下一篇: 年夜饭是除夕还是初一