0

ここに示されているスケルトンに厳密に従います。

http://developer.android.com/guide/topics/ui/dialogs.html#

このページ全体で、次のような宣言を使用しています。

public Dialog onCreateDialog(Bundle savedInstanceState) {
    AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
    builder.setTitle(R.string.pick_color);
       .setItems(R.array.colors_array, new DialogInterface.OnClickListener() {
           public void onClick(DialogInterface dialog, int which) {
           // The 'which' argument contains the index position
           // of the selected item
       }
    });
    return builder.create();
}

このメソッドのデータ型は「Dialog」ですが、ビルダーが使用したため、メソッドの戻り値の型は「AlertDialog」です。当然のことながら、Eclipse は、これらは互換性がなく、似たようなことをしようとするとコードをコンパイルしないと教えてくれます。また、builder.create() 呼び出しの結果を Dialog 型にキャストすることもできないため、回避策はありません。これを修正してコードをコンパイルするにはどうすればよいですか? ありがとう。

4

1 に答える 1