我是一個使用Java和Android編程的全新手。活動與來自一個活動的setResult()和來自另一個活動的onActivityResult()之間的通信
我所擁有的是一個活動,它通過點擊一個按鈕啓動一個不同的活動與一個選擇框(Facebook的friendpicker)。
我想要做的是,在選擇我想要的用戶後,在第一個活動中顯示它們。 作爲第二個目標,我會嘗試爲每個用戶創建一個按鈕。但首先,我只需要將信息從一個活動轉移到另一個活動。
我想setResult()和onActivityResult()將是我的正確選擇。我不知道如何以及爲什麼要這樣做。
所以在我的第二個活動,這包含了所有的用戶我想:
List<GraphUser> friendList = friendPickerFragment.getSelection();
但是這顯然是行不通的:
setResult(RESULT_OK, (Intent) friendListToPlay);
finish();
我如何得到我的GraphUser的對象列表這個意圖?
然後在我的第一個活動(當然這叫做第二個活動)我有onActivityResult,我如何從Intent再次獲得List?
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == REAUTH_ACTIVITY_CODE) {
uiHelper.onActivityResult(requestCode, resultCode, data);
} else if (resultCode == Activity.RESULT_OK) {
// Intent data to List<GraphUser> ?
}
}
或者我是否完全錯誤?
謝謝你,這工作幾乎完美無瑕。一些更正可能用於將來的參考:intent.putStringArrayListExtra而不是intent.putExtra,List list = new ArrayList ();而不是名單 list = new List ();和user =(GraphUser)GraphObject.Factory.create(new JSONObject(tmpString),GraphUser.class);而不是user =(GraphUser)GraphObject.Factory。創建(新的JSONObject(tmpString)); 但在這一點上,只有一些小事情要解決,再次感謝您的幫助! –
不客氣 – Blackbelt