0

启动时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();  
} 
} 

The app cra畲族带有神秘色彩的(至少对我来说)错误:

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

从投入一些Log.ds我知道AsyncTaskLoader的构造并不甚至称。我已经尝试将加载器的init()移到片段生命周期的后面部分。如果这很重要的话,该片段在ViewPager btw内。 AsyncTaskLoader在从Activity调用时工作正常。

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

+0

错误可能是在剪断网络的东西,你可能要检查剧组和转换。可能你正在将一个整数转换为一个枚举值,但是这个整数超出了枚举的范围。 – Machinarius 2013-02-08 13:48:32

+0

谢谢但不是,RESTLoader甚至没有创建它的构造函数,所以它从来没有做过网络的东西。 – FWeigl 2013-02-08 13:51:25

回答

0

好,很尴尬的错误:我已经在活动的另一个装载该片段连接到也有ID为0: -/