0

我有这个片段:

公共类 ResultFragment 扩展 Fragment 实现 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();     
}
}

该应用程序因一个神秘的(至少对我而言)错误而崩溃:

http://i46.tinypic.com/260fw43.png

通过放入一些 Log.ds,我知道 AsyncTaskLoader 的构造函数甚至没有被调用。我已经尝试将加载器的 init() 移动到片段生命周期的后期部分。如果这很重要,片段就在 ViewPager 中。从 Activity 调用时,AsyncTaskLoader 工作正常。

关于我做错了什么的任何想法?

4

1 回答 1

0

好的,非常令人尴尬的错误:我已经在 Activity 中有另一个加载器,该片段附加到它的 ID 为 0 :-/

于 2013-02-08T14:04:33.800 回答