与网页不同,您不能将 Facebook Like按钮添加到 Android 应用程序。但是,您可以通过对 Facebook API 使用“POST”或“DELETE”查询将该功能添加到喜欢帖子(在您的情况下为评论):
这是我在应用程序中切换评论的点赞状态的完整功能示例:
注意:此代码适用于较旧的 v2.x SDK。因此,您需要调整一些特定于最新 v3.x SDK 的内容
在您将用于发布/删除 Like 的 onClickListener 上,运行以下代码:
try {
String query = "SELECT user_likes FROM comment WHERE post_id= \'"
+ THE_COMMENT_ID + "\'";
Bundle params = new Bundle();
params.putString("method", "fql.query");
params.putString("query", query);
String fqlResponse = Utility.mFacebook.request(params);
JSONArray JALikes = new JSONArray(fqlResponse);
for (int j = 0; j < JALikes.length(); j++) {
JSONObject JOTemp = JALikes.getJSONObject(j);
if (JOTemp.has("user_likes")) {
String userLikeStatus = JOTemp.getString("user_likes");
if (userLikeStatus.equals("true")) {
try {
Bundle parameters = new Bundle();
Utility.mFacebook.request(arrayComments.get(position).getCommentID() + "/likes", parameters, "DELETE");
// CHANGE THE TEXT OF THE WIDGET TO SHOW THE TOGGLED STATE
}
catch(Exception e) {
e.printStackTrace();
}
} else if (userLikeStatus.equals("false")) {
try {
Bundle parameters = new Bundle();
Utility.mFacebook.request(arrayComments.get(position).getCommentID() + "/likes", parameters, "POST");
// CHANGE THE TEXT OF THE WIDGET TO SHOW THE TOGGLED STATE
}
catch(Exception e) {
e.printStackTrace();
}
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
在代码的第一部分(在 之前for loop
),如果登录用户喜欢评论,我会检查当前状态。根据结果(在 中for loop
),我要么删除赞,要么发布赞。
虽然它是一个较旧的 SDK,但代码仍然有效,并且只需进行一些修改(如果需要)就可以正常工作。