0

在地图上的标记胶带时,我有此代码来显示一个AlertDialog:[奇怪的问题] CursorIndexOutOfBoundsException:索引-1请求,将尺寸为4

protected boolean onTap(int index) { 
      db = openHelper.getWritableDatabase(); 

      String[] result_columns = new String[] {COL_DESCRI}; 

      Cursor cur = db.query(true, TABLE_COORD, result_columns, 
      null, null, null, null, null, null); 

      cur.moveToPosition(index-1); 
       String description = cur.getString(cur.getColumnIndexOrThrow(COL_DESCRI)); 

       AlertDialog.Builder dialog = new AlertDialog.Builder(Geo.this); 
       dialog.setTitle("Infos."); 
       dialog.setMessage(description); 
       dialog.setPositiveButton("OK", new OnClickListener() {  
        @Override 
        public void onClick(DialogInterface dialog, int which) { 
         dialog.dismiss(); 
        } 
       }); 
       dialog.show(); 



      cur.close(); 
      db.close(); 

      return true; 
     } 

的问题是,4 3个标记由于缺点,有一个是强制关闭应用程序。他可能是那个错误的问题?我制作了cur.moveToPosition(index-1);,总是出现同样的问题。 感谢您的帮助。

回答

0

您是否尝试过使用cur.moveToNext()?它适用于我

+0

我必须使它在一个循环,如果我这样做,我会有所有alertdialogs显示时,我只点击一个标记。 – androniennn