我嘗試製作應用程序。我使用Facebook的SDK,我可以登錄Facebook。應用程序正在獲取用戶喜歡的電影。我可以用圖形API做到這一點,我可以將所有電影名稱添加到arraylist。到目前爲止,一切都很好。但是當我嘗試訪問在ArrayList總是null的onCreate方法。當我使用調試時,我可以看到json值。我該如何解決這個問題。我知道我的英語不好,我想解釋我的問題。我能希望:)Android - Arraylist大小始終爲零
public class list extends AppCompatActivity {
ArrayList<String> movieList = new ArrayList<String>();
public void getInfo(){
GraphRequest request = GraphRequest.newMeRequest(
AccessToken.getCurrentAccessToken(),
new GraphRequest.GraphJSONObjectCallback() {
@Override
public void onCompleted(JSONObject object, GraphResponse response) {
JSONObject jsonObject = response.getJSONObject();
try {
JSONObject movies = jsonObject.getJSONObject("movies");
JSONArray data = movies.getJSONArray("data");
for (int i = 0; i<data.length();i++){
JSONObject objectData = data.getJSONObject(i);
String movieName = objectData.getString("name");
movieList.add(movieName);
}
}catch (JSONException e){
e.printStackTrace();
}
}
});
Bundle parameters = new Bundle();
parameters.putString("fields", "movies");
request.setParameters(parameters);
request.executeAsync();
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list);
getInfo();
this.setTitle(movieList.get(0));
}
}
因爲'executeAsync()訪問它,它並沒有結束'是所謂的,我認爲'this.setTitle()'在異步請求完成之前運行... –