如何在点击android上添加like和不同条件按钮?

时间:2016-10-27 07:43:24

标签: java android android-volley

我想喜欢兴趣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();

    }
};

}

1 个答案:

答案 0 :(得分:1)

您可以使用全局curInterest来保存当前的兴趣状态。

或者检查FloatingButton的状态:

Drawable myDrawable = floatingButton.getDrawable();
if(floatingButton.getDrawable()==getResources().getDrawable(R.drawable. hearts)){
    //Liked
}

但是,我发现floatingButton您更改了背景,不关心addToInterested州成功或错误,当您的请求过快或出错时,可能会出现错误状态。< / p>