主界面Hub,项目采用MVP架构,这个Activity是View层中的一部分。 package com.yusys.mpos.main;import android.content.Intent;import android.os.Bundle;import android.support.v4.app.FragmentActivity;import android.view.LayoutIn
package com.yusys.mpos.main; import android.content.Intent; import android.os.Bundle; import android.support.v4.app.FragmentActivity; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.widget.TabHost.TabSpec; import android.widget.TextView; import com.yusys.mpos.R; import com.yusys.mpos.common.YXApplication; import com.yusys.mpos.common.bean.overall.LoginInfo; import com.yusys.mpos.common.listener.YXResultListener; import com.yusys.mpos.common.manager.InfoManager; import com.yusys.mpos.common.widget.tabhost.YXTabHost; import com.yusys.mpos.gather.GatherFragment; import com.yusys.mpos.identification.IdentificationActivity; import com.yusys.mpos.life.LifeFragment; import com.yusys.mpos.login.LoginActivity; import com.yusys.mpos.login.LoginContract; import com.yusys.mpos.login.LoginPresenter; import com.yusys.mpos.common.bean.request.LogoutRequest; import com.yusys.mpos.manage.ManageFragment; import com.yusys.mpos.query.QueryFragment; import butterknife.Bind; import butterknife.ButterKnife; import cn.pedant.SweetAlert.SweetAlertDialog; /** * 主界面 * * @author yuanshuai (marshall.yuan@foxmail.com) * @since 2016-04-06 17:16 */ public class MainActivity extends FragmentActivity { @Bind(android.R.id.tabhost) YXTabHost tabHost; private LayoutInflater inflater; LoginContract.Presenter mPresenter; private Class classes[] = {GatherFragment.class, QueryFragment.class, LifeFragment.class, ManageFragment.class}; private int selectors[] = {R.drawable.selector_tab_gathering, R.drawable.selector_tab_query, R.drawable.selector_tab_life, R.drawable.selector_tab_manage}; private String titles[] = {"收款", "交易查询", "生活", "个人管理"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ButterKnife.bind(this); inflater = LayoutInflater.from(this); mPresenter = new LoginPresenter(); initView(); } @Override public void onDestroy() { super.onDestroy(); ButterKnife.unbind(this); } private void initView() { tabHost.setup(this, getSupportFragmentManager(), R.id.framecontent); int count = classes.length; int i; for (i = 0; i < count; i++) { //为每一个Tab按钮设置图标、文字和内容 TabSpec tabSpec = tabHost.newTabSpec(titles[i]).setIndicator(getTabItemView(i)); //将Tab按钮添加进Tab选项卡中 tabHost.addTab(tabSpec, i, classes[i], null); } LoginInfo loginInfo = InfoManager.getLoginInfo(); // 判断商户审核状态,详见AuditStatus switch (loginInfo.merchantInfo.auditSts) { case "201": case "202": SweetAlertDialog dialog = new SweetAlertDialog(this, SweetAlertDialog.NORMAL_TYPE); dialog.setCancelable(false); dialog.setTitleText("审核未通过").setContentText("请等待审核通过后登录") .setConfirmText("确定").setConfirmClickListener(new SweetAlertDialog.OnSweetClickListener() { @Override public void onClick(final SweetAlertDialog sweetAlertDialog) { mPresenter.logout(new LogoutRequest(), new YXResultListener() { @Override public void onSuccess(Object result) { sweetAlertDialog.cancel(); YXApplication.clearTempInfo();// 清除登录信息 startActivity(new Intent(MainActivity.this, LoginActivity.class)); finish(); } @Override public void onFailure(Object result) { finish(); } }); } }).show(); break; case "200": startActivity(new Intent(MainActivity.this, IdentificationActivity.class)); break; default: break; } } /** * 给Tab按钮设置图标和文字 */ private View getTabItemView(int index) { View root = inflater.inflate(R.layout.item_tab, null); ImageView imageView = (ImageView) root.findViewById(R.id.iv_tab_item); imageView.setImageResource(selectors[index]); TextView textView = (TextView) root.findViewById(R.id.tv_tab_item); textView.setText(titles[index]); return root; } @Override public void onBackPressed() { } }