我正在使用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。
我非常感谢您解决此错误的任何建议。谢谢!
答案 0 :(得分:3)
这些API已弃用,您应该使用DialogFragments:http://developer.android.com/reference/android/app/DialogFragment.html