package cn.scau.scautreasure.adapter;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.drawable.ColorDrawable;
import android.view.View;
import android.widget.ImageView;
import cn.scau.scautreasure.AppConstant;
import cn.scau.scautreasure.R;
import cn.scau.scautreasure.helper.UIHelper;
import cn.scau.scautreasure.model.ClassModel;
import cn.scau.scautreasure.ui.ClassEditor_;
import cn.scau.scautreasure.ui.ClassTable;
import com.joanzapata.android.BaseAdapterHelper;
import com.joanzapata.android.QuickAdapter;
import org.androidannotations.annotations.EBean;
/**
* User: Special Leung
* Date: 13-7-30
* Time: 下午4:16
* Mail: specialcyci@gmail.com
*/
@EBean
public class ClassAdapter extends QuickAdapter<ClassModel> {
private final Context ctx;
private ClassTable fragment;
public ClassAdapter(Context context) {
super(context, R.layout.classtable_listitem);
ctx = context;
}
public void setFragment(ClassTable fragment){
this.fragment = fragment;
}
@Override
protected void convert(final BaseAdapterHelper baseAdapterHelper, final ClassModel classModel) {
baseAdapterHelper.setText(R.id.tv_classname,classModel.getClassname())
.setText(R.id.tv_teacher,classModel.getTeacher())
.setText(R.id.tv_classname_details,classModel.getClassname())
.setText(R.id.tv_place,classModel.getLocation())
.setText(R.id.tv_class_place,classModel.getLocation())
.setText(R.id.tv_nodes, classModel.getNode())
.setText(R.id.tv_dsz,classModel.getDsz())
.setText(R.id.tv_week_range,classModel.getStrWeek() + "-" + classModel.getEndWeek());
setLeftImageViewColor(baseAdapterHelper);
baseAdapterHelper.getView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (view.getId() != R.id.expandable_toggle_button && view.getId() != R.id.btn_modify){
baseAdapterHelper.getView(R.id.expandable_toggle_button).performClick();
}
}
});
baseAdapterHelper.getView(R.id.btn_modify).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
fragment.startActivityForResult(ClassEditor_.intent(ctx).model(classModel).get(), UIHelper.QUERY_FOR_EDIT_CLASS);
}
});
baseAdapterHelper.getView(R.id.btn_delete).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AlertDialog.Builder builder = new AlertDialog.Builder(ctx);
builder.setMessage(R.string.dialog_sure_to_delete_lesson);
builder.setNegativeButton(R.string.dialog_no,null);
builder.setPositiveButton(R.string.dialog_yes, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
fragment.deleteClass(classModel);
}
});
builder.show();
}
});
}
private void setLeftImageViewColor(BaseAdapterHelper baseAdapterHelper){
int color = AppConstant.IV_COLOR[ baseAdapterHelper.getPosition() % AppConstant.IV_COLOR.length ];
ImageView iv = baseAdapterHelper.getView(R.id.class_iv);
iv.setImageDrawable(new ColorDrawable(color));
}
}