有一位同学在看了底部导航栏的代码后给我留言
说是否能将从Activity跳转到Tab时,指定到自己所需要的位置,
而不是千篇一律的回到XML中指定的位置。
这里给解答下:
底部导航这种项目的跳转分为2种
1、从Activity跳转到Tab
2、Tab中的Fragment跳转到其他Fragment
先看第一种,从其他Activity跳转到Tab中指定的Fragment(这句话怎么感觉有点乱……)
首先,在MainActivity.java中定义一个坐标变量:int index = 0;
该变量的值不能超过Tab的数量,同时,index的值需要通过Intent传递过来
Intent intent = getIntent();
index = intent.getIntExtra("index", 2);
默认值表示默认显示的Fragment
定义一个方法,该方法在setTab中调用:
/**
* 切换Fragment
* @param index 索引值
*/
public static void setFragmentIndex(int index) {
if (radio_group.getChildCount() > index && index >= 0) {
RadioButton button = (RadioButton) radio_group.getChildAt(index);
button.setChecked(true);
} else {
utils.toast("参数错误");
}
}
该方法定义为static是为了方便在Tab中的某个Fragment中,直接跳转到其他Fragment
如此只需要在其他Fragment中调用MainActivity.setFragment(Int index);就OK啦