super.onStart()中的奇怪错误;

时间:2014-12-17 20:11:24

标签: java android mysql super

我开发了一个Android应用程序并且运行得很好,但有时它会抛出一个奇怪的错误:

如果应用程序之前已经执行过并且您再次执行它,有时它会引发下一个错误:android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0

这个的奇怪部分(至少对我而言,因为我不是Android专家)是,除此之外不会总是发生,是错误日志中出现的第一个点是{{ 1}}我的main.java行,我在那行之前什么也没有。

这是我的onStart方法:

super.onStart();

以下是错误日志:

@Override
protected void onStart() {
    super.onStart();

    mPager.setOffscreenPageLimit(4);

    mPager.setPageTransformer(true, new ZoomOutPageTransformer());
}

这怎么可能?

1 个答案:

答案 0 :(得分:1)

onStart()执行任何挂起的片段事务。在这种情况下,它涉及实例化您的FragmentAsig,并且存在错误。具体做法是:

at mysql.BaseDatos.getAsignaturaDataBase(BaseDatos.java:233)
at com.tfd.myapp.FragmentAsig.onCreateView(FragmentAsig.java:269)

您在没有数据的getInt()上呼叫Cursor。你需要检查一下,例如moveToFirst()成功了。