У меня есть этот фрагмент:Android: AsyncTaskLoader сбой при запуске из фрагмента
общественный класс ResultFragment расширяет фрагмент реализует LoaderCallbacks {
public static ResultFragment newInstance(Bundle args) {
ResultFragment fragment = new ResultFragment();
fragment.setArguments(args);
return fragment;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getActivity().getSupportLoaderManager().initLoader(0, null, this);
}
@Override
public Loader<EstateSearch> onCreateLoader(int id, Bundle args) {
return new RESTLoader(getActivity(), "http://etc");
}
@Override
public void onLoadFinished(Loader<EstateSearch> loader, EstateSearch es) {
}
@Override
public void onLoaderReset(Loader<EstateSearch> loader) {
}
}
AsyncTaskLoader выглядит следующим образом:
общественного класса RESTLoader расширяет AsyncTaskLoader {
private String searchUrl;
public RESTLoader(Context context, String searchUrl) {
super(context);
this.searchUrl = searchUrl;
}
@Override
public EstateSearch loadInBackground() {
EstateSearch es = null;
try {
Network Stuff
} catch (Exception e) {
}
return es;
}
@Override
public void deliverResult(EstateSearch es) {
super.deliverResult(es);
}
@Override
protected void onStartLoading() {
forceLoad();
}
@Override
protected void onStopLoading() {
cancelLoad();
}
@Override
protected void onReset() {
super.onReset();
onStopLoading();
}
}
Приложение cra Shes с таинственной (по крайней мере, для меня) ошибки:
http://i46.tinypic.com/260fw43.png
От сдачи в некотором Log.ds я знаю, что конструктор AsyncTaskLoader даже не называется. Я уже пытался переместить init() загрузчика на более поздние части жизненного цикла фрагмента. Этот фрагмент находится в пределах ViewPager btw, если это важно. AsyncTaskLoader отлично работает при вызове из Activity.
Любые идеи о том, что я делаю неправильно?
Ошибка может быть в отрезали сеть вещей, вы можете проверьте наличие бросков и конверсий. Вероятно, вы выделяете целое число в значение enum, но это целое число находится за пределами диапазона перечислений. – Machinarius
Спасибо, но нет, RESTLoader даже не создан с помощью его конструктора, поэтому он никогда не работает в сети. – FWeigl