java – 提供错误的AlertDialog示例

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

我正在阅读AlertDialog的文档here,这给出了一个例子:

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以确保我有正确的导入,但它仍然没有消失.

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

>按Ctrl Shift O右键导入(使用android.app.DialogFragment,而不是android.support.v4.app.DialogFragment)
>在顶部声明我的包裹
>分别用android.R.string.ok和android.R.string.cancel替换了R.string.alert_dialog_ok和R.string.alert_dialog_cancel
>删除了setIcon(),因为我还没有要放入的图标

我还在收到错误

> FragmentAlertDialog无法解析为类型(x4)
> MyAlertDialogFragment类的非法修饰符;只有公共的,抽象的和决赛是允许的

我做错了什么,或者示例代码有问题吗?

解决方法:

1.FragmentAlertDialog

确保要转换为的Activity命名为FragmentAlertDialog.确保还保存所有内容 – 有时Eclipse在保存所有内容之前不会建立连接.

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

取出静态修饰符:

public class MyAlertDialogFragment extends DialogFragment {

或保持静态并移动此片段,使其包含在您想要的活动中.这意味着MyAlertDialogFragment应该在Activity的结束括号之前.

I’m new to Java/Android development

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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...