CursorIndexOutOfBoundsException Index 0 requested, with a size of 0

风流意气都作罢 提交于 2019-12-01 04:13:55
KristianMedK

It would seem like you have an emtpy cursor. Instead of checking whether it is null try checkcing

if(mCursor.getCount() > 0)
{
  //do stuff
}

try removing your where condition to make sure you actually get data when running the select statement. If you still get nothing you might have a typo in your tablenames, or failed to connect/create the database/tables.

Cursor mCursor = db.query("sys_interface_text", new String[] {
       "id_interface_text", "item_name","form_label_id", "form_rank"}, 
               "form_label_id = 1706", null, null, null,
       null);

Try using

while(cursor.moveToNext())
{
   if(cursor.isFirst())
   {
      //Your code goes here in your case
      return mCursor.getString(mCursor.getColumnIndex(KEY_ITEM_NAME));
   }
}
finaly
{
 if(mCursor!= null)
 {
   mCursor.close();
 }
}

try by changing this line

Cursor mCursor = db.query(true, TABLE_LANGUAGE_FR, new String[] {
           KEY_ID_INTERFACE_TEXT, KEY_ITEM_NAME,KEY_FORM_LABEL_ID, KEY_FORM_RANK}, 
                   KEY_FORM_LABEL_ID + "=" + rowId, null, null, null,
           null, null);

by

Cursor mCursor = db.query(TABLE_LANGUAGE_FR, new String[] {
           KEY_ID_INTERFACE_TEXT, KEY_ITEM_NAME,KEY_FORM_LABEL_ID, KEY_FORM_RANK}, 
                   KEY_FORM_LABEL_ID + "=" + rowId, null, null, null,
           null);

and also add this in if condition

 return str;
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!