package com.txsc.activity; import com.txsc.MyApplication; import com.txsc.R; import com.txsc.fragment.Car_HomeFrag; import com.txsc.fragment.Main_HomeFrag; import com.txsc.fragment.My_HomeFrag; import com.txsc.fragment.Sort_HomeFrag; import com.txsc.utils.SPUtils; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTabHost; import android.view.KeyEvent; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.RadioGroup.OnCheckedChangeListener; import android.widget.TabHost.TabSpec; /** * 主界面,管理Tab标签 * * @author Admin * */ public class Main_HomeAty extends FragmentActivity implements OnCheckedChangeListener { // 定义FragmentTabHost对象 public static FragmentTabHost mTabHost; private RadioGroup mTabRg; public static RadioButton rbHome; public static RadioButton rbCar; public static Context mContext; private int tabNum; @SuppressWarnings("rawtypes") private final Class[] fragments = { Main_HomeFrag.class, Sort_HomeFrag.class, Car_HomeFrag.class, My_HomeFrag.class }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); MyApplication.getInstance().addActivity(this); setContentView(R.layout.tab_main_home_layout); tabNum = getIntent().getIntExtra("tabNum", 0); mContext = this; initView(); } @Override protected void onResume() { super.onResume(); if(SPUtils.getToCar(this)){ rbCar.setChecked(true); SPUtils.saveToCar(this, false); } } private void initView() { mTabHost = (FragmentTabHost) findViewById(android.R.id.tabhost); mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent); // 得到fragment的个数 int count = fragments.length; for (int i = 0; i < count; i++) { // 为每一个Tab按钮设置图标、文字和内容 TabSpec tabSpec = mTabHost.newTabSpec(i + "").setIndicator(i + ""); // 将Tab按钮添加进Tab选项卡中 mTabHost.addTab(tabSpec, fragments[i], null); } rbHome = (RadioButton) findViewById(R.id.tab_rb_1); rbCar = (RadioButton) findViewById(R.id.tab_rb_3); mTabRg = (RadioGroup) findViewById(R.id.tab_rg_menu); mTabRg.setOnCheckedChangeListener(this); if (tabNum == 2) { rbCar.setChecked(true); } else { mTabHost.setCurrentTab(tabNum); } } public static void setHome() { rbHome.setChecked(true); } @Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { showExitDialog(); return false; } else { return super.onKeyDown(keyCode, event); } } public static void showExitDialog() { AlertDialog.Builder dialog = new Builder(mContext); dialog.setTitle("提醒"); dialog.setMessage("确认退出吗?"); dialog.setNegativeButton("确定", new OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { MyApplication.getInstance().finishAllActivity(); } }); dialog.setPositiveButton("取消", null); dialog.show(); } @Override public void onCheckedChanged(RadioGroup group, int checkedId) { switch (checkedId) { case R.id.tab_rb_1: mTabHost.setCurrentTab(0); break; case R.id.tab_rb_2: mTabHost.setCurrentTab(1); break; case R.id.tab_rb_3: mTabHost.setCurrentTab(2); break; case R.id.tab_rb_4: mTabHost.setCurrentTab(3); break; default: break; } } }