私は ActionBarSherlock を使用していますが、問題が発生しました。インポート (?) に関連していると思います。
onCreateDialog() と onPrepareDialog() を使用して、SherlockListFragment からカスタム ダイアログ ボックスを表示しようとしています。たとえば、onCreateDialog は次のようになります。
@Override
protected Dialog onCreateDialog(int id) {
AlertDialog alert = null;
switch (id) {
case DIALOG_CASE_1:
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setMessage(question)
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// do stuff
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
alert = builder.create();
break;
default:
alert = null;
}
return alert;
}
このアプローチは SherlockActivity からは正常に機能しますが、SherlockListFragment でエラーが発生します。
The method onCreateDialog(int) of type MyFragment must override or implement a supertype method
onPrepareDialog() で同様のエラーが発生します。上記のように、MyFragment は SherlockListFragment を拡張します。
このエラーを解決するための提案をいただければ幸いです。ありがとう!