我是 Java/Android 开发的新手(我昨晚开始学习),所以我完全有可能在做一些非常愚蠢的事情。然而,经过一个多小时的谷歌搜索,我什么也没想到。我使用 Eclipse 作为我的编辑器。
我正在阅读此处的文档AlertDialog
,其中给出了一个示例:
public static class MyAlertDialogFragment extends DialogFragment {
public static MyAlertDialogFragment newInstance(int title) {
MyAlertDialogFragment frag = new MyAlertDialogFragment();
Bundle args = new Bundle();
args.putInt("title", title);
frag.setArguments(args);
return frag;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
int title = getArguments().getInt("title");
return new AlertDialog.Builder(getActivity())
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(title)
.setPositiveButton(R.string.alert_dialog_ok,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((FragmentAlertDialog)getActivity()).doPositiveClick();
}
}
)
.setNegativeButton(R.string.alert_dialog_cancel,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
((FragmentAlertDialog)getActivity()).doNegativeClick();
}
}
)
.create();
}
}
我最初重写了它,所以我可以开始将一些方法提交到内存中,但是得到一个错误"FragmentAlertDialog cannot be resolve to a type"。我点击Ctrl++Shift以O确保我有正确的导入,但它仍然没有消失。
所以我复制/粘贴了示例代码并按以下顺序执行了以下操作:
- 点击Ctrl++以获得正确的导入(使用, not Shift)O
android.app.DialogFragment
android.support.v4.app.DialogFragment
- 在顶部声明我的包裹
- 分别替换为
R.string.alert_dialog_ok
和_R.string.alert_dialog_cancel
android.R.string.ok
android.R.string.cancel
- 已删除
setIcon()
,因为我还没有要放入的图标
我仍然收到错误:
FragmentAlertDialog
无法解析为类型 (x4)- 类的非法修饰符
MyAlertDialogFragment
;只有public
,abstract
&final
是允许的
我做错了什么,还是示例代码有问题?