package com.jaf.biubiu;
import android.view.View;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import com.jaf.bean.BeanNearbyItem;
import com.jaf.jcore.Http;
import com.jaf.jcore.HttpCallBack;
import org.json.JSONObject;
/**
* Created by jarrahwu on 15/4/19.
*/
public class LikePanelHolder implements View.OnClickListener {
public CheckBox like;
public CheckBox unLike;
public Extra extra;
public LikePanelHolder(Extra extra, View panelParent) {
like = (CheckBox) panelParent.findViewById(R.id.likeCheck);
unLike = (CheckBox) panelParent.findViewById(R.id.unlikeCheck);
this.extra = extra;
}
public void listenForChecking() {
unLike.setOnClickListener(this);
like.setOnClickListener(this);
}
// 方便header 使用
public void setData(BeanNearbyItem beanAnswerItem) {
if (beanAnswerItem != null) {
like.setText(String.valueOf(beanAnswerItem.getLikeNum()));
unLike.setText(String.valueOf(beanAnswerItem.getUnlikeNum()));
boolean likeEnable = true;
boolean isUnlike;
boolean isLike;
switch (beanAnswerItem.getLikeFlag()) {
case 1://zan
likeEnable = false;
isLike = true;
isUnlike = false;
break;
case 2://cai
likeEnable = false;
isUnlike = true;
isLike = false;
break;
default://no status
likeEnable= true;
isUnlike = false;
isLike = false;
break;
}
like.setChecked(isLike);
unLike.setChecked(isUnlike);
like.setEnabled(likeEnable);
unLike.setEnabled(likeEnable);
}
}
// public void stopListen() {
// unLike.setOnCheckedChangeListener(null);
// like.setOnCheckedChangeListener(null);
// }
public static class Extra {
int aid = 0;//answer id
int qid = 0;//question id;
}
@Override
public void onClick(View v) {
CompoundButton cb = (CompoundButton) v;
cb.toggle();
boolean isLike = v == like ? true : false;
doPost(isLike, extra);
}
//true 赞 false 踩
public void onLike(boolean isLike) {
}
public void doPost(final boolean isLike, final Extra extra) {
onPrePost(isLike);
Http http = new Http();
JSONObject jo = U.buildPostLike(isLike, extra.qid, extra.aid);
http.url(Constant.API).JSON(jo).post(new HttpCallBack() {
@Override
public void onResponse(JSONObject response) {
super.onResponse(response);
L.dbg("do like post success in like panel qid:%d, aid:%d", extra.qid, extra.aid);
onPostSuccess(isLike);
}
});
}
public void onPrePost(boolean isLike) {
}
public void onPostSuccess(boolean isLike) {
}
}