Re: [問題] facebook的request使用notify/wait取資料

看板AndroidDev作者 (somebody)時間12年前 (2013/10/31 04:51), 編輯推噓0(007)
留言7則, 2人參與, 最新討論串2/2 (看更多)
借這篇來問一下 這篇下面有大大告訴我將要改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

10/31 11:12, , 1F
我猜 sss 根本是空的
10/31 11:12, 1F

11/01 18:03, , 2F
對 在request外是空的 在我在oncomplete裡面print值時是對的
11/01 18:03, 2F

11/02 03:13, , 3F
因為onCompleted那邊是非同步事件 他是等收到server
11/02 03:13, 3F

11/02 03:14, , 4F
回應之後才會呼叫 所以toast應該是要放在onCompleted
11/02 03:14, 4F

11/03 10:17, , 5F
嗯這我知道 所以我想知道怎樣才能得知已經從server收到值了?
11/03 10:17, 5F

11/03 10:18, , 6F
toast只是拿來測試用 實際上我想把每筆資料的內容存成list
11/03 10:18, 6F

11/03 10:19, , 7F
再用來做成listview
11/03 10:19, 7F
文章代碼(AID): #1ISN5X08 (AndroidDev)
文章代碼(AID): #1ISN5X08 (AndroidDev)