动作栏夏洛克在创建对话框() 错误: "must override or implement a supertype method"



我正在使用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。

我将非常感谢解决此错误的任何建议。 谢谢!

这些API已被弃用,你应该使用DialogFragments:http://developer.android.com/reference/android/app/DialogFragment.html

相关内容

最新更新