Java Android-Arraylist大小始终为零

Java Android-Arraylist大小始终为零,java,android,facebook,facebook-graph-api,Java,Android,Facebook,Facebook Graph Api,我试着申请。我使用facebook sdk,我可以使用facebook登录。应用程序正在获取用户喜欢的电影。我可以用GraphAPI实现这一点,我可以将所有电影的名称添加到arraylist中。到目前为止一切都还好。但当我尝试在onCreate方法中访问时,arraylist总是为null。当我使用debug时,我可以看到json值。我怎样才能解决这个问题。我知道我的英语不好,我正在努力解释我的问题。我希望:) 公共类列表扩展了AppCompatActivity{ ArrayList movie

我试着申请。我使用facebook sdk,我可以使用facebook登录。应用程序正在获取用户喜欢的电影。我可以用GraphAPI实现这一点,我可以将所有电影的名称添加到arraylist中。到目前为止一切都还好。但当我尝试在onCreate方法中访问时,arraylist总是为null。当我使用debug时,我可以看到json值。我怎样才能解决这个问题。我知道我的英语不好,我正在努力解释我的问题。我希望:)

公共类列表扩展了AppCompatActivity{
ArrayList movieList=新的ArrayList();
public void getInfo(){
GraphRequest请求=GraphRequest.newmereRequest(
AccessToken.getCurrentAccessToken(),
新建GraphRequest.GraphJSONObjectCallback(){
@凌驾
未完成公共无效(JSONObject对象,GraphResponse响应){
JSONObject JSONObject=response.getJSONObject();
试一试{
JSONObject movies=JSONObject.getJSONObject(“电影”);
JSONArray data=movies.getJSONArray(“数据”);

例如(int i=0;i它是空的,因为请求是异步的,当您尝试访问数组时它还没有结束…尝试在onCompleted时访问它。它是空的,因为请求是异步的,当您尝试访问数组时它还没有结束…尝试在onCompleted时访问它。
executeAsync()
被调用,我假定
this.setTitle()
在异步请求完成之前运行……当调用
executeAsync()
时,我假定
this.setTitle()
在异步请求完成之前运行…0只是一个示例。如果我想用arraylist填充listView,我能做什么?我想我必须在完成后再次填充。正确吗?是的,在完成后再填充…我写了0,我的意思是空0只是一个示例。如果我想用arraylist填充listView,我能做什么?我想我必须这样做完成后再次填充。正确吗?是的,完成后再填充…这是我的错,我写了0,我的意思是空的
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));



    }
}