gpt4 book ai didi

java - 给出错误的 AlertDialog 示例

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:04:08 25 4
gpt4 key购买 nike

我是 Java/Android 开发的新手(我昨晚开始学习)所以我完全有可能在做一些非常愚蠢的事情。然而,经过一个多小时的谷歌搜索后,我一无所获。我使用 Eclipse 作为我的编辑器。

我正在阅读文档 here对于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 无法解析为类型”。我按下 Ctrl+Shift+O 以确保我有正确的导入,但它仍然没有消失。

所以我复制/粘贴了示例代码并按以下顺序执行了以下操作:

  1. Ctrl+Shift+O 以正确导入(使用 android.app.DialogFragment,不是 android.support.v4.app.DialogFragment)
  2. 在顶部声明了我的包裹
  3. R.string.alert_dialog_okR.string.alert_dialog_cancel 替换为 android.R.string.okandroid。 R.string.cancel分别
  4. 删除了 setIcon(),因为我还没有要放入的图标

我仍然遇到错误:

  1. FragmentAlertDialog 无法解析为类型 (x4)
  2. MyAlertDialogFragment 的非法修饰符;仅允许 publicabstractfinal

是我做错了什么,还是示例代码有问题?

最佳答案

1.FragmentAlertDialog

确保要转换到的 Activity 名为 FragmentAlertDialog。确保还保存了所有内容 - 有时 Eclipse 在保存所有内容之前不会建立连接。

2.Illegal modifier for the class MyAlertDialogFragment; only public, abstract & final are permitted

去掉static修饰符:

public class MyAlertDialogFragment extends DialogFragment {

或保持 static 并移动此 Fragment,使其包含在您想要的 Activity 中。这意味着 MyAlertDialogFragment 应该在您的 Activity 中,该 Activity 的右括号之前。

I'm new to Java/Android development

不要从如此复杂的事情开始。学习Java然后转到Android.

关于java - 给出错误的 AlertDialog 示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com