下面的代码是选项卡TabHost代码。
然后如何让初始选项卡不在第一个Fragment即首页
想在第三个Fragment即天气。
就是打开这个程序,打开的是第三个Fragment天气,而不是第一个Fragment
然后如何让初始选项卡不在第一个Fragment即首页
想在第三个Fragment即天气。
就是打开这个程序,打开的是第三个Fragment天气,而不是第一个Fragment
/**
* @author yank
* 功能描述:自定义TabHost
*/
public class MainActivity extends FragmentActivity{
//定义结束时间
private long exitTime = 0;
//定义FragmentTabHost对象
private FragmentTabHost mTabHost;
//定义一个布局
private LayoutInflater layoutInflater;
//定义数组来存放Fragment界面
private Class fragmentArray[] = {firsttxt.class,secondtxt.class,thirdtxt.class,fourth.class,fivetxt.class};
//定义数组来存放按钮图片
private int mImageViewArray[] = {R.drawable.cchome,R.drawable.ccarticle,R.drawable.ccweather,
R.drawable.ccone,R.drawable.ccuser};
//请求码
private int CODE=0;
//Tab选项卡的文字
private String mTextviewArray[] = {"首页", "文章", "天气", "One", "用户"};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView( );
}
/**
* 初始化组件
*/
private void initView (){
//实例化布局对象
layoutInflater = LayoutInflater.from(this);
//实例化TabHost对象,得到TabHost
mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.container); //加载内容
//得到fragment的个数
int count = fragmentArray.length;
for(int i = 0; i < count; i++){
//为每一个Tab按钮设置图标、文字和内容
TabSpec tabSpec = mTabHost.newTabSpec(mTextviewArray[i]).setIndicator(getTabItemView(i));
//将Tab按钮添加进Tab选项卡中
mTabHost.addTab(tabSpec, fragmentArray[i], null);
}
}
/**
* 给Tab按钮设置图标和文字
*/
private View getTabItemView(int index){
View view = layoutInflater.inflate(R.layout.tab_item_view, null);
ImageView imageView = (ImageView) view.findViewById(R.id.imageview);
imageView.setImageResource(mImageViewArray[index]);
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(mTextviewArray[index]);
return view;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
exit(); //按返回键,true则退出
return false;
}
return super.onKeyDown(keyCode, event);
}
public void exit() { //按返回退出
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(getApplicationContext(), "再按一次退出程序",
Toast.LENGTH_SHORT).show();
exitTime = System.currentTimeMillis();
} else { //退出
finish();
System.exit(0);
}
}
}