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