Android之底部導航欄--RadioGroup、TabHost、Fragment

有一位同学在看了底部导航栏的代码后给我留言

说是否能将从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啦




你可能感兴趣的:(android,Fragment,tabhost,Navigation,新浪导航栏)