0

アイテムを選択してAlertDialogを作成しようとしています。私は次のコードを使用しています

final CharSequence[] items={"One","two","three"};

alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Choose COlor");                                
alertDialog.setItems(items, new DialogInterface.OnClickListener() {
                       public void onClick(DialogInterface dialog, int which) {
                           // The 'which' argument contains the index position
                           // of the selected item
                       }
                }); 

しかし、コンパイルでエラーが発生し続けます

メソッドsetItems(CharSequence []、new DialogInterface.OnClickListener(){})は、タイプAlertDialogに対して未定義です。

私が見るすべての例がこのコードを使用しているので、私は非常に混乱しています、それではなぜこのエラーですか?

4

1 に答える 1

0

setItemsのメソッドでありAlertDialog.Builder、ではありませんAlertDialog

ダイアログではなく、ビルダーですべてのメソッドを呼び出す必要があります。例えば:

alertDialog = new AlertDialog.Builder(this)
              .setTitle("Choose COlor")                            
              .setItems(items, new DialogInterface.OnClickListener() {
                   public void onClick(DialogInterface dialog, int which) {
                       // The 'which' argument contains the index position
                       // of the selected item
                   }
               })
               .create();
于 2013-02-23T02:02:56.103 に答える