我已經能夠使用「我/家」圖形API調用爲登錄用戶提供Facebook新聞提要,並在活動中顯示結果。獲得當前用戶喜歡的帖子狀態
現在我一直在嘗試多種方法來查詢帖子的列,並檢查當前用戶是否喜歡帖子來顯示狀態。從本質上講,我設置了一個可繪製的表示用戶喜歡的帖子。
我真的不能發佈任何我嘗試過的代碼,因爲它們都沒有工作。相信我,我嘗試了無數種方法。
如果有人能夠至少讓我朝正確的方向發展,我將不勝感激。
編輯:這是我在查詢欄中喜歡和結果與當前用戶的ID進行比較最新嘗試:
這段代碼是我在哪裏檢查喜歡數,並將它們添加到ArrayList。這也是我正在運行查詢以獲取帖子中的喜歡的地方。
// GET THE POST'S LIKES COUNT
if (json_data.has("likes")) {
JSONObject feedLikes = json_data.optJSONObject("likes");
String countLikes = feedLikes.getString("count");
postLikesCountArrayList.add(countLikes);
// TEST STARTS
// QUERY THE LIKES COLUMN TO CHECK YOUR LIKE STATUS ON A POST
Bundle params = new Bundle();
params.putString(Facebook.TOKEN, Utility.mFacebook.getAccessToken());
Utility.mAsyncRunner.request(finalThreadID + "/likes&limit=200", params, new LikesListener());
// TEST ENDS
} else {
String countLikes = "0";
postLikesCountArrayList.add(countLikes);
}
而這個代碼塊就是結果被檢查的偵聽器(在同一活動privte類):
private class LikesListener extends BaseRequestListener {
@Override
public void onComplete(final String response, final Object state) {
try {
JSONObject JOLikes = new JSONObject(response);
JSONArray JALikes = JOLikes.getJSONArray("data");
for (int i = 0; i < JALikes.length(); i++) {
JSONObject JOTemp = JALikes.getJSONObject(i);
if (JOTemp.has("id")) {
String getTempID = JOTemp.getString("id");
if (getTempID.equals(initialUserID)) {
Runnable run = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
ImageView postYourLike = (ImageView) findViewById(R.id.postYourLike);
postYourLike.setBackgroundResource(R.drawable.btn_icon_liked);
}
};
TestNewsFeeds.this.runOnUiThread(run);
}
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
對不起,你真的需要向我們展示的,你已經嘗試過什麼的例子, **當你做了**時發生了什麼。現在,您可以將您的代碼粘貼到計算器中,以便我們知道。 – Ashe
沒問題。添加最新的嘗試代碼。 –
@Len:我已經用最新嘗試的代碼更新了帖子。我向你保證,沒有計算器參與。 ;-) –