2012-03-16 20 views
0

カーソルを使用してAlertDialogを構築し、ダイアログ内のリスト項目に値を入力しました。すべては、リストを作成するのにうまくいきます。Android AlertDialogとカーソル

私は、選択された行のコールバックに「戻った」項目を戻します。 1つの問題が残ります...

クリックしたアイテムのテキストを元に戻すにはどうすればよいですか?

私はカーソルを再クエリーして結果を '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

、ありがとうございました。私は最初に私がそのようなことを試したときに、スコープエラーによって台無しになったと思う。私があなたのソリューションの仕事をするためにしなければならなかったのは、カーソルを「最終的なもの」として定義することでした。 – HeneryH