安卓TabHost或者ViewP最简单 Activity跳转到Fragment

我的用的TabHost搭建的界面主布局框架 涉及到跳转问题 弥补之前文章的不足

Activity ------ Activity下的Fragment
1、Activity 操作代码
Intent i=new Intent();
i.setClass(HomeItemActivity.this, MainActivity.class);
//参数3 是你要跳转的Fragment id
i.putExtra(“flag”,3);
startActivity(i);
this.finish();
2、 Activity下的Fragment操作代码 可以写在MainActivity下的onResume方法中

Intent intent = getIntent();
int id = intent.getIntExtra(“flag”, 0);
if (id == 3) {
//fragment的切换TabHost 3 代表 跳转到第四个
mTabHost.setCurrentTab(3);
//fragment的切换ViewPager 3 代表 跳转到第四个
viewpager.setCurrentItem(3);
}

就这了 最后2个注释 你用TabHost 搭建的界面 那么就用setCurrentTab
用viewPager 搭建的就用setCurrentItem

可能有些还不明白 我附图解释吧 !尽量一次解决大家的问题!
我的是MainActivity 下用TabHost 加了5个底部Tab 第四个是ShopFragment 目前要从HomeItemActivity 跳转到ShopFragment 下图是MainActivity的代码 mTabHost 是你定义的 加载器 你可以人为MainActivity中的代码是接收器
在这里插入图片描述

那么 我们从HomeItemActivity 写出 发送器

在这里插入图片描述

就是这么简单 网上看了很多资料 总结出的 思路是:点击跳转 Intent 加一个ID 充当发送器 发送到 负载Fragment的MainActivity 中 写一个相同ID的接收器 在接收器中实现 setCurrentTab 跳转到你想要的Fragment
1、 这个完美解决 跳转后会界面重叠问题
2、这个是最简单的跳转 也不用在ShopFragment 任何操作
3、也不用去定义FragmentManager()

希望能解决大家的问题 其它跳转思路一样!

猜你喜欢

转载自blog.csdn.net/weixin_43148719/article/details/84190141
今日推荐