ここに示されているスケルトンに厳密に従います。
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 型にキャストすることもできないため、回避策はありません。これを修正してコードをコンパイルするにはどうすればよいですか? ありがとう。