问:天气应用程序的异步部分似乎有点笨拙。最初,我无法获取任何AlertDialogFragment代码通过IntelliJ进行填充,如视频中所示。然后,我注意到讲师还有4个我还没有并且在课程中到目前为止没有被提及的输入。然后添加以下内容,可以使其中的一些起作用。
导入 android.app.Dialog ;
导入 android.app.DialogFragment ;
导入 android.content.Context ;
导入 android.os.Bundle ;
我仍然无法通过intelliJ启动OnCreateDialog,因此我手动键入了所有内容,从而导致了以下情况。
@Override
public Dialog OnCreateDialog (Bundle savedInstanceState ){上下文context = getActivity (); AlertDialog 。生成器builder = new AlertDialog 。生成器(上下文)。的setTitle (ř 。串。error_title )。setMessage (ř 。串。ERROR_MESSAGE )。setPositiveButton (R 。
字符串。error_ok_button_text , null );
AlertDialog对话框=构建器。创建(); 返回对话框; }
此后,@Override显示错误,并且代码将无法运行。错误是此帖子标题中的错误。
同样值得一提的是,在我的Android Studio版本中,自动添加到字符串资源无法像视频中的Ben那样工作。从上面比较我的代码和构建视频所显示的构建参数。
在视频中,您将看到“上下文”是每个字符串资源添加行的一部分。为什么有什么不同?
Android Studio有何不同?
我不确定要继续执行我的应用程序需要做什么,因为我不确定如何解决错误或告诉Android Studio如何使用适当的“ Dialog”类,即使问题出在哪儿也是如此。
答:您似乎遇到了一些问题!让我们看看是否可以对它进行排序。
首先,您是否正在使用Android Studio,并且它与更新的Android SDK等配套了吗?
您指出的错误似乎是一些继承问题-@Override没有看到超类。在我的代码中,类头看起来像:
公共 类 AlertDialogFragment 扩展 DialogFragment
因此,那里有一个Dialog类型的超类。您的代码是否有类似的东西?
尝试将以下内容添加到您的导入中(尽管这些应随“组织导入”按键而更新)。
导入 android.app.AlertDialog ;
我同意字符串处理也有所不同-我的代码context.getString(R.string.stringName)不是像您一样直接引用资源。我怀疑这是一个相关问题,因此让我们先关注超类问题,然后再从那里缩小问题范围。