作者whow (somebody)
看板AndroidDev
標題Re: [問題] facebook的request使用notify/wait取資料
時間Thu Oct 31 04:51:41 2013
借這篇來問一下
這篇下面有大大告訴我將要改UI的部分也寫在callback裡面
但我有個需求是
我有一個存有很多座標位置的list
而每一個座標我都要向facebook發出要求 尋找該座標附近的景點
這些點是用迴圈去跑的
再把這些資料用做某ListView的資料
一次只能發出一個點的request 應該沒辦法在迴圈裏面做ListView的adapter吧
因為還沒有得到全部座標位置的景點資料(該ListView的內容是要顯示景點資料
所以我的需求是:
"能夠在request的callback外面使用request所取回來的資料"
以下是範例:
final Vector<String> sss = new Vector<String>(); //存取許多位置的vector
Location requestlocation = new Location("User");
requestlocation.setLatitude(24.15027);
requestlocation.setLongitude(120.685768);
Request.executePlacesSearchRequestAsync(Session.getActiveSession()
, requestlocation, 1000, 1, null, new GraphPlaceListCallback(){
@Override
public void onCompleted(
List<GraphPlace> places,
Response response) {
// TODO Auto-generated method stub
sss.add(places.get(0).getName());
//這行是拿到回傳回來的資料 確定有東西
}
});
Toast.makeText(Gps_test.this, sss.get(0), Toast.LENGTH_LONG).show();
//這行會出錯 但我想在request外可以使用到回傳回來的值
求解 如果有任何發問不清楚的請跟我說
這問題困擾我好久好久了....
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.164.135.247
1F:→ jack19900510:我猜 sss 根本是空的 10/31 11:12
2F:→ whow:對 在request外是空的 在我在oncomplete裡面print值時是對的 11/01 18:03
3F:→ jack19900510:因為onCompleted那邊是非同步事件 他是等收到server 11/02 03:13
4F:→ jack19900510:回應之後才會呼叫 所以toast應該是要放在onCompleted 11/02 03:14
5F:→ whow:嗯這我知道 所以我想知道怎樣才能得知已經從server收到值了? 11/03 10:17
6F:→ whow:toast只是拿來測試用 實際上我想把每筆資料的內容存成list 11/03 10:18
7F:→ whow:再用來做成listview 11/03 10:19