2011-08-25 45 views
0

返回指定的数据我有此查询:于行“指数”从一个SQLite查询

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

,我想它于行“指数”返回column_descri数据。 “索引”是我函数中的一个参数:

public void showOverlay (OverlayItem overlay, int index) 
     { 
     db = openHelper.getWritableDatabase(); 

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

     Cursor cur = db.query(true, TABLE_COORD, columns_descri,null, null, null, null, null, null); 
     if (cur.moveToPosition(index)) { 
     //show an AlertDialog with description of row index 

我该如何达到目的?

谢谢你的帮助。

回答

1

你可以试试这个:

String res = cur.getString(cur.getColumnIndex(COL_DESCRI)); 
cur.close(); 
+0

我这样做后'如果(cur.moveToPosition(指数)){'=>'字符串描述= cur.getString(cur.getColumnIndexOrThrow(COL_DESCRI));'但我的问题是AlertDialog不显示一次,但多次(6)当我只点击一个标记。 – androniennn

+0

比你应该检查'showOverlay'调用了多少次。可能被称为6次。 –

+0

我不认为该函数被调用很多次,那就是:'公布尔中的onTap(INT指数) \t { showOverlay(的getItem(指数),指数); return super.onTap(index); }'在标记索引函数中,它将通过浏览索引行中的列“COL_DESCRI”来显示其描述。 – androniennn