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