2014-09-05 3 views
1

Я использую модификацию для извлечения данных из ресурса. Но думаю, что моя архитектура ошибается. Итак, у меня есть фрагмент со списком, например.Null указатель в обратном вызове при обратном вызове при вызове getActivity

В onCreateView после настройки пользовательского интерфейса я вызываю метод API (async). Это возвращает список моделей, которые мне нужно настроить для моего адаптера listview.

То я сделать в обратном вызове

private Callback<List<User>> mUsersCallback = new Callback<List<User>>() { 
    @Override 
    public void success(List<User> users, Response response) { 
     mLoadingLayout.hideLoading(); 
     mPeopleAdapter = new PeopleAdapter(getActivity(), users); 
     lvPeople.setAdapter(mPeopleAdapter); 
    } 

    @Override 
    public void failure(RetrofitError error) { 
     mLoadingLayout.hideLoading(); 
     Log.d("get users", error.getUrl() + " " + error.toString()); 
    } 
}; 

В этой части я иногда получаю NPE, когда вызов getActivity(); Как это сделать на правильном пути?

+0

журнал регистрации может помочь –

+0

@KaranMer не нужно регистрироваться, действительно. Это просто NPE, когда вызов getActivity() Я полагаю, это плохо для getActivity в обратном вызове метода асинхронного – onCreate

ответ

1

Ваша деятельность была разрушена во время разговора, когда вы пытаетесь получить его в обратный вызов, это может быть пустым.

Просто проверьте, не является ли действие недействительным и если null игнорирует обратный вызов.