Android:AsyncTaskLoader从fragment启动时崩溃
我有这个片段: 公共类ResultFragment扩展片段实现LoaderCallbacks{Android:AsyncTaskLoader从fragment启动时崩溃,android,android-fragments,android-viewpager,asynctaskloader,Android,Android Fragments,Android Viewpager,Asynctaskloader,我有这个片段: 公共类ResultFragment扩展片段实现LoaderCallbacks{ public static ResultFragment newInstance(Bundle args) { ResultFragment fragment = new ResultFragment(); fragment.setArguments(args); return fragment; } @Override public void onCreate(Bundle savedInstan
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) {
}
}
应用程序崩溃,出现一个神秘的(至少对我来说)错误:
通过输入一些Log.ds,我知道AsyncTaskLoader的构造函数甚至没有被调用。我已经尝试将加载程序的init()移动到片段生命周期的后期。如果这很重要,片段在ViewPager中。AsyncTaskLoader在从活动调用时工作正常
你知道我做错了什么吗?好吧,非常尴尬的错误:我在活动中已经有了另一个加载程序,片段附加到该加载程序,它的ID也为0:-/错误可能在被剪断的网络内容中,你可能想检查强制转换和转换。可能你正在将整数强制转换为枚举值,但这整数超出了枚举的范围。谢谢,但是不,RESTLoader甚至不是用它的构造函数创建的,所以它从不做网络的事情。
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();
}
}