2012-03-16 55 views
0

我使用遊標構建了一個AlertDialog來填充對話框中的列表項。所有與創建列表一起工作良好。Android AlertDialog和遊標

我甚至在選擇的行的回調中返回'which'項。一個問題仍然存在......

如何獲取單擊項目的文本?

我不想重新查詢光標,並旋轉結果進入'哪個'項目,但我不知道如何獲得值。

感謝

protected Dialog onCreateDialog(int id) { 
    switch (id) { 
     case DIALOG_GENUS_LIST_CURSOR: 
      Cursor cursor = managedQuery(AquaNotesDbContract.Genus.CONTENT_URI, 
        GenusQuery.PROJECTION, null, null, null); 
      return new AlertDialog.Builder(Gallery.this) 
         .setTitle(Res.string.select_genus) 
         .setCursor(cursor, 
        new DialogInterface.OnClickListener() { 
          public void onClick(DialogInterface dialog, int which) { 
            /* an item was selected */ 
          < this is where I want to learn the text selected??? >     
          } 
         }, 
        GenusQuery.PROJECTION[GenusQuery.COMMON_NAME]) 
         .create(); 
    } 
    return null; 
} 

回答

1

如何在onclick處理程序...

 
cursor.moveToPosition(which); 
cursor.getString(GenusQuery.PROJECTION.INDEX_OF_COLUMN_OF_TEXT_YOU_WANT); 
+0

這工作太好了,謝謝。我想我第一次嘗試這樣的事情時被範圍錯誤搞亂了。我所要做的就是讓你的解決方案工作,將遊標定義爲'final'。 – HeneryH 2012-03-17 02:12:22