我想喜欢兴趣1而不喜欢兴趣0
案例R.id.floatingActionButton:
if() {floatingActionButton.setImageDrawable(getResources().getDrawable(R.drawable.hearts));
addToInterested(postId, 1);
}else {
floatingActionButton.setImageDrawable(getResources().getDrawable(R.drawable.ic_action_fav));
addToInterested(postId, 0);
}
break;
在方法内部 private void addToInterested(String postId,int interest){
try {
PostLikeTask postLikeTask = new PostLikeTask(this, responseListener);
JSONObject params = new JSONObject();
params.put("userId", authKey);
params.put("postId", postId);
params.put("interest", interest);
postLikeTask.likePost(params);
} catch (Exception e) {
e.printStackTrace();
}
}
ResponseListener responseListener = new ResponseListener() {
@Override
public void onError(String errorMessage) {
Toast.makeText(getApplicationContext(), errorMessage.toString(), Toast.LENGTH_LONG).show();
}
@Override
public void onSuccess(String message) {
Toast.makeText(getApplicationContext(), message.toString(), Toast.LENGTH_LONG).show();
}
};
}
答案 0 :(得分:1)
您可以使用全局curInterest
来保存当前的兴趣状态。
或者检查FloatingButton的状态:
Drawable myDrawable = floatingButton.getDrawable();
if(floatingButton.getDrawable()==getResources().getDrawable(R.drawable. hearts)){
//Liked
}
但是,我发现floatingButton
您更改了背景,不关心addToInterested
州成功或错误,当您的请求过快或出错时,可能会出现错误状态。< / p>