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;
}
}
}