请检查这张图片

大家好,
虽然我在Android上工作了4个月,但是我第一次探索导航视图。请看这个问题所提供的图片。实际上,我正在创建一个提醒应用程序。现在,我有三个不同的类别来创建提醒。我添加了一个Listview作为主页,如果我单击第一个Listview项目,它将打开第一个类别(活动)。M活性由3 TabFrament组成。我有TextViews和EditTexts来添加提醒。当我通过单击Listview条目进入时,它可以正常工作。但是,我也想提供一个导航抽屉。因此,我将导航菜单项保留为- Home,Tab Frag1.就像这样。点击它就会打开所需的片段。但是,任何东西都不会保存在数据库和应用程序崩溃中,或者如果我不添加任何数据,它会显示保存并立即开始响。有很多密码。所以,如果你说的话,我会在这里提出这个问题。
现在,我的问题:
任何帮助都将不胜感激。
这是逻辑猫:
Caused by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0
at android.database.AbstractCursor.checkPosition(AbstractCursor.java:460)
at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
at first_app.practice.portfolio.advancedreminder.TabFragment1.populateFields(TabFragment1.java:301)
at first_app.practice.portfolio.advancedreminder.TabFragment1.onCreateView(TabFragment1.java:148)
at android.support.v4.app.Fragment.performCreateView(Fragment.java:2184)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1254)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1467)
at android.support.v4.app.FragmentManagerImpl.addFragment(FragmentManager.java:1681)
at android.support.v4.app.FragmentManagerImpl.onCreateView(FragmentManager.java:3357)
at android.support.v4.app.FragmentController.onCreateView(FragmentController.java:120)
at android.support.v4.app.FragmentActivity.dispatchFragmentsOnCreateView(FragmentActivity.java:378)
at android.support.v4.app.BaseFragmentActivityHoneycomb.onCreateView(BaseFragmentActivityHoneycomb.java:33)
at android.support.v4.app.FragmentActivity.onCreateView(FragmentActivity.java:79)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:766)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:716)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:847)
at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:810)
at android.view.LayoutInflater.inflate(LayoutInflater.java:527)
at android.view.LayoutInflater.inflate(LayoutInflater.java:429)
at android.view.LayoutInflater.inflate(LayoutInflater.java:380)
at android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:288)
at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:143)
at first_app.practice.portfolio.advancedreminder.PostClickNotificationActivity.onCreate(PostClickNotificationActivity.java:42)
at android.app.Activity.performCreate(Activity.java:6877)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1136)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3209)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3352)
at android.app.ActivityThread.access$1100(ActivityThread.java:223)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1797)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7231)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)但是,正如我在图中所描述的,只有在使用导航抽屉打开片段时,才会在swipe选项卡中添加数据时才会发生这种情况。
以下是数据库规范:
private static final String TABLE_TEST = "TABLE_NAME";
//Column Name
public static final String KEY_ID = "id";
public static final String KEY_N = "name";
public static final String KEY_B= "b";
public static final String KEY_L= "l";
public static final String KEY_M= "m";
public static final String KEY_MS= "ms";
public static final String KEY_P= "p";
public static final String KEY_DATE_TIME = "reminder_date_time";
public Cursor fetchReminder(long rowId) throws SQLException {
SQLiteDatabase db = this.getWritableDatabase();
Cursor mCursor = db.query(TABLE_TEST, new String[]{KEY_ID,
KEY_N, KEY_B, KEY_L, KEY_M, KEY_MS, KEY_P, KEY_DATE_TIME}, KEY_ID + "=" + rowId, null,
null, null, null, null);
if (mCursor !=null ) {
mCursor.moveToFirst();
}
return mCursor;
}请查收并告诉我。如果你想要更多的代码请告诉我。谢谢您的帮助。我用同样的logcat错误来使用它,但是它并没有帮助我。
发布于 2017-01-26 13:54:08
by: android.database.CursorIndexOutOfBoundsException: Index 0 requested, with a size of 0检查崩溃日志,它清楚地表明,您的数据库是空白的,里面没有数据。因为,我没有看到insert to data查询,无法对其进行注释,我只能说您试图运行的mCursor查询,当它为null且没有行时,尝试从表中获取数据。请检查您为将数据插入表而编写的查询是否正确执行。
https://stackoverflow.com/questions/41804939
复制相似问题