package android.source.tuangou; import java.util.HashMap; import java.util.Map; import android.app.ActivityGroup; import android.app.LocalActivityManager; import android.content.Intent; import android.os.Bundle; import android.source.tuangou.framework.ServiceManager; import android.view.View; import android.view.Window; import android.widget.CompoundButton; import android.widget.RadioButton; import android.widget.ViewFlipper; /* * 团购类主界面 * * ActivityGroup--用于切换activity * */ public class MainView extends ActivityGroup{ /* * 相关变量定义 * */ static final String DAILY_DEALS = "daily_deals"; static final String MORE = "more"; static final String MY_DEALS = "my_deals"; static final String NEAR_DEALS = "near_deals"; LocalActivityManager activityManager; ViewFlipper container; ActivityContainer innerContainer; Map stacks; public MainView(){ } //底部类别控件初始化 private void initRadios(){ //设置状态变化监听器 CheckedChangeListener mCheckedChangeListener = new CheckedChangeListener(); ((RadioButton)findViewById(R.id.btn_tab_today_deals)).setOnCheckedChangeListener(mCheckedChangeListener); ((RadioButton)findViewById(R.id.btn_tab_near_deals)).setOnCheckedChangeListener(mCheckedChangeListener); ((RadioButton)findViewById(R.id.btn_tab_my_deals)).setOnCheckedChangeListener(mCheckedChangeListener); ((RadioButton)findViewById(R.id.btn_tab_more_deals)).setOnCheckedChangeListener(mCheckedChangeListener); } //打开堆栈红的activity private void openStack(String name, String file, int resId){ //根据资源id,获取相应字符串 String s2 = getResources().getString(resId); //获取activity堆栈中的activity ActivityStack activitystack = (ActivityStack)stacks.get(name); //打开堆栈中对应的activity以及初始化 innerContainer.openStackOrInit(activitystack, file, s2); } /* * activity的创建方法 * */ public void onCreate(Bundle bundle){ super.onCreate(bundle); boolean flag = requestWindowFeature(Window.FEATURE_OPTIONS_PANEL); //设置布局文件 setContentView(R.layout.main); //创建activty堆栈 stacks = new HashMap(); //保存activity堆栈 ActivityStack activitystack = new ActivityStack(); Object obj = stacks.put("daily_deals", activitystack); ActivityStack activitystack1 = new ActivityStack(); Object obj1 = stacks.put("near_deals", activitystack1); ActivityStack activitystack2 = new ActivityStack(); Object obj2 = stacks.put("my_deals", activitystack2); ActivityStack activitystack3 = new ActivityStack(); Object obj3 = stacks.put("more", activitystack3); //获取布局文件中显示内容的控件 container = (ViewFlipper)findViewById(R.id.container); //获取activity管理类 activityManager = getLocalActivityManager(); //创建内容activity Intent intent = new Intent(this, ActivityContainer.class); Window window = activityManager.startActivity("main_container", intent); innerContainer = (ActivityContainer)window.getContext(); //获取内容actiivty View view = window.getDecorView(); //将内容activity添加到视图中 container.addView(view); container.showNext(); //打开activity堆栈中的activity openStack("daily_deals", "category.html", R.string.daily_deals); //初始化底部分类 initRadios(); } //重启activity函数 protected void onRestart(){ ServiceManager.getLocationService().startLocationListener(); super.onRestart(); } //activity中断函数 public void onStop(){ ServiceManager.getLocationService().removeLocationListener(); super.onStop(); } //控件状态监听器 private class CheckedChangeListener implements android.widget.CompoundButton.OnCheckedChangeListener{ final MainView this$0; //控件状态改变监听函数 public void onCheckedChanged(CompoundButton compoundbutton, boolean flag){ if (!flag) { return; } else{ switch(compoundbutton.getId()){ //今日团购 case R.id.btn_tab_today_deals: openStack("daily_deals", "category.html", R.string.daily_deals); break; //附件团购 case R.id.btn_tab_near_deals: openStack("near_deals", "nearby.html", R.string.nearby_deals); break; //我的团购 case R.id.btn_tab_my_deals: openStack("my_deals", "mydeal.html", R.string.my_deals); break; //更多 case R.id.btn_tab_more_deals: openStack("more", "options.html", R.string.more_options); break; } } } CheckedChangeListener(){ super(); this$0 = MainView.this; } } }