安卓的fragment跳转问题
来源:互联网 发布:雪湖资本 知乎 编辑:程序博客网 时间:2024/05/06 19:35
最近在做安卓项目,然后就遇到了fragment的问题。
之前做项目的代码拿出来看,发现和这一次的做法不太一样,但在编码过程中就出现了一些跳转的问题。
之前实现fragment是利用FragmentActivity和PageView实现的,这一次就直接继承Fragment,其实思路还是一样的。
实现fragment的方法很多,下面是我这次项目采用的方法:
首先在一个Activity中添加几个Fragment,在onCreate()中初始化默认Fragment,同时借助FragmentManager来进行事务提交,最后再添加点击事件。
//添加显示fragment private void addOrShowFragment(FragmentTransaction transaction, Fragment fragment){ if(currentFragment == fragment) return; if (!fragment.isAdded()){ transaction.hide(currentFragment).add(R.id.content_layout,fragment).commit(); }else { transaction.hide(currentFragment).show(fragment).commit(); } currentFragment = fragment; }
//初始化底部tab private void initTab(int id) { switch (id){ case 1: if (homeFragment == null) homeFragment = new homeFragment(); if (!homeFragment.isAdded()) { //提交事务 getSupportFragmentManager().beginTransaction().add(R.id.content_layout, homeFragment).commit(); //记录当前Fragment currentFragment = homeFragment; //设置底部图片文本变化 ivHome.setImageResource(R.drawable.home_orange); } break;} }
//点击事件 public void onClick(View v) { switch (v.getId()){ case R.id.rl_home: clickHomeLayout(); break; }
//点击主页后的事件响应 private void clickHomeLayout(){ if (homeFragment == null) homeFragment = new homeFragment(); addOrShowFragment(getSupportFragmentManager().beginTransaction(),homeFragment); //设置底部图标和字体颜色 ...
Q&A
1、从一个Fragment如何跳转到一个不包含该Fragment的Activity?
回答:
Intent intent = new Intent(getActivity(), BActivity.class);
startActivity(intent);
2、那么如何从一个activity跳转到指定的Fragment呢?
回答:只需要再跳转时加上intent.putExtra("main",3);即可返回到包含指定Fragment的Activity。
但是需要再onCreate()中加上以下几句代码:
Intent intent = getIntent();
int id = intent.getIntExtra("main",1);
if (id == 2)
initTab(2);
else if (id == 3)
initTab(3);
else
initTab(1);
简单来说,就是为每个Fragment设定一个编号,然后按固定编号返回即可。这样一来,涉及到Fragment跳转的问题就解决了。
0 0
- 安卓的fragment跳转问题
- Fragment的跳转问题
- 安卓fragment跳转activity,fragment跳转fragment,activity跳转fragment
- 安卓fragment跳转activity,fragment跳转fragment,activity跳转fragment
- 安卓CountDownTimer的倒计时功能 和acitvity到Fragment跳转
- Fragment和Activity跳转的问题
- 关于fragment多界面跳转的问题
- 关于fragment跳转activity的回传值问题
- Activity跳转到Fragment的问题
- 安卓怎样从Fragment跳转到Activity
- 【安卓知识点速记】fragment 向activity带参跳转
- 关于安卓开发页面跳转的小问题
- web链接跳转安卓app的问题
- 安卓欢迎界面和activity之间的跳转问题
- Fragment中嵌套Fragment跳转回来不显示的问题
- Fragment跳转问题
- 安卓Fragment的用法
- 安卓Fragment的用法
- R语言<dplyr>
- (Java实现)输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向
- time
- centos6.5配置vim
- bzoj 4573大森林
- 安卓的fragment跳转问题
- Topcoder Open Match 2017 R1B
- lintcode平衡二叉树
- 蓝以中老师《高等代数》第06章:带度量的线性空间(欧式空间、酉空间) 笔记
- C++回顾之C与C++区别_01
- Go学习笔记(三)程序结构
- 打印PPT铺满A4纸
- C语言基本的语法规定
- 紫薯---第三章 J