package com.jiuqi.njt.register; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.view.View; import android.view.View.OnClickListener; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.model.CModuleBean; import com.jiuqi.njt.ui.LoginActivityNew; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.ModuleUtil; import com.jiuqi.njt.util.UIUtil; /** * 首页按钮对应的点击事件 * * @author Joe * */ public class ModuleOnClick implements OnClickListener { private Context context; private int buttonClassIndex; private boolean needLogin; /** * 根据按钮的Activity索引值生成按钮的响应事件 * * @param context * @param buttonClassIndex * 按钮对应的响应事件(Activity对应的Class)的索引值, * 详情参见ModuleUtil的getMapActivity方法 */ public ModuleOnClick(Context context, int buttonClassIndex) { super(); this.context = context; this.buttonClassIndex = buttonClassIndex; } /** * 根据按钮的Activity索引值生成按钮的响应事件 * * @param context * @param buttonClassIndex * 按钮对应的响应事件(Activity对应的Class)的索引值, * 详情参见ModuleUtil的getMapActivity方法 * @param needLogin * 需要登录后才能操作 */ public ModuleOnClick(Context context, int buttonClassIndex, boolean needLogin) { super(); this.context = context; this.buttonClassIndex = buttonClassIndex; this.needLogin = needLogin; } /** * 是否需要登录后才能操作 * * @return */ public boolean isNeedLogin() { return needLogin; } /** * 是否需要登录后才能操作 * * @return */ public void setNeedLogin(boolean needLogin) { this.needLogin = needLogin; } @Override public void onClick(View v) { MyApp application = (MyApp) context.getApplicationContext(); /** * 如果操作需要登录后才能进行 就先判断是不是已经登录,否则就弹出提示登录对话框 */ if (needLogin && !application.getIsLogin()) { UIUtil.confirm(context, "请先登录", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(); intent.setClass(context, LoginActivityNew.class); // intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); context.startActivity(intent); } }, "现在登录", "稍后再说"); } else { Intent in = new Intent(); ModuleUtil moduleUtil = new ModuleUtil(); /** * 根据索引值取出对应的Activity的Class类 */ in.setClass(context, moduleUtil.getMapActivity(buttonClassIndex)); /** * 根据索引值设置对应的参数 */ CModuleBean cModuleBean = new CModuleBean(); cModuleBean.setModuleFlag(moduleUtil .getModuleType(buttonClassIndex)); in.putExtra(Constants.PARAM_MODULEBEAN, cModuleBean); context.startActivity(in); } } }