Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 对话框显示问题_Java_Android - Fatal编程技术网

Java 对话框显示问题

Java 对话框显示问题,java,android,Java,Android,我正在测试回答我问题时给出的代码: 与此图片相关的答案: 我试图通过将此代码添加到WidgetMenu类来启动“反馈”对话框,但它强制关闭了我添加的代码: public void onClick(View arg0) { final Dialog dialog = new Dialog(context); dialog.setContentView(R.layout.custom_dialog); dialog.setTitl

我正在测试回答我问题时给出的代码:

与此图片相关的答案:

我试图通过将此代码添加到
WidgetMenu
类来启动“反馈”对话框,但它强制关闭了我添加的代码:

  public void onClick(View arg0) {       
        final Dialog dialog = new Dialog(context);
        dialog.setContentView(R.layout.custom_dialog);
        dialog.setTitle("Title...");

        // set the custom dialog components - text, image and button
        TextView text = (TextView) dialog.findViewById
                           (R.id.dialog_text);
        text.setText("Places contact me");

        ImageView image = (ImageView) dialog.findViewById(R.id.image);
        image.setImageResource(R.drawable.ic_launcher);

    Button dialogButton = (Button) dialog.findViewById(R.id.dialog_Button);
        // if button is clicked, close the custom dialog
        dialogButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                dialog.dismiss();
            }
        });

        dialog.show();
      }
    });
我的日志:

  W/KeyCharacterMap(303): No keyboard for id 0
  W/KeyCharacterMap(303): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
  D/dalvikvm(303): GC_EXTERNAL_ALLOC freed 932 objects / 65328 bytes in 90ms
  D/AndroidRuntime(303): Shutting down VM
  W/dalvikvm(303): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
  E/AndroidRuntime(303): FATAL EXCEPTION: main
  E/AndroidRuntime(303): java.lang.NullPointerException
  E/AndroidRuntime(303): at android.app.Dialog.<init> (Dialog.java:141)
  E/AndroidRuntime(303): at android.app.Dialog.<init> (Dialog.java:123)
  E/AndroidRuntime(303): at com.tsn.dr.WidgetMenu$Ui$2.onClick (WidgetMenu.java:99)
  E/AndroidRuntime(303): at android.view.View.performClick (View.java:2408)
  E/AndroidRuntime(303): at android.view.View$PerformClick.run (View.java:8816)
  E/AndroidRuntime(303): at android.os.Handler.handleCallback (Handler.java:587)
  E/AndroidRuntime(303): at android.os.Handler.dispatchMessage (Handler.java:92)
  E/AndroidRuntime(303): at android.os.Looper.loop(Looper.java:123)
  E/AndroidRuntime(303): at android.app.ActivityThread.main (ActivityThread.java:4627)
  E/AndroidRuntime(303): at java.lang.reflect.Method.invokeNative (Native Method)
  E/AndroidRuntime(303): at java.lang.reflect.Method.invoke (Method.java:521)
  E/AndroidRuntime(303): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
  E/AndroidRuntime(303): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:626)
  E/AndroidRuntime(303): at dalvik.system.NativeStart.main(Native Method)
W/KeyCharacterMap(303):没有id为0的键盘
W/KeyCharacterMap(303):使用默认的keymap:/system/usr/keychars/qwerty.kcm.bin
D/dalvikvm(303):GC_EXTERNAL_ALLOC在90毫秒内释放932个对象/65328字节
D/AndroidRuntime(303):关闭虚拟机
W/dalvikvm(303):线程ID=1:线程退出时出现未捕获异常(组=0x4001d800)
E/AndroidRuntime(303):致命异常:主
E/AndroidRuntime(303):java.lang.NullPointerException
E/AndroidRuntime(303):位于android.app.Dialog。(Dialog.java:141)
E/AndroidRuntime(303):位于android.app.Dialog。(Dialog.java:123)
E/AndroidRuntime(303):在com.tsn.dr.WidgetMenu$Ui$2.onClick(WidgetMenu.java:99)
E/AndroidRuntime(303):位于android.view.view.performClick(view.java:2408)
E/AndroidRuntime(303):在android.view.view$PerformClick.run(view.java:8816)
E/AndroidRuntime(303):位于android.os.Handler.handleCallback(Handler.java:587)
E/AndroidRuntime(303):位于android.os.Handler.dispatchMessage(Handler.java:92)
E/AndroidRuntime(303):位于android.os.Looper.loop(Looper.java:123)
E/AndroidRuntime(303):位于android.app.ActivityThread.main(ActivityThread.java:4627)
E/AndroidRuntime(303):位于java.lang.reflect.Method.invokenactive(本机方法)
E/AndroidRuntime(303):位于java.lang.reflect.Method.invoke(Method.java:521)
E/AndroidRuntime(303):位于com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
E/AndroidRuntime(303):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
E/AndroidRuntime(303):位于dalvik.system.NativeStart.main(本机方法)

任何建议都将不胜感激。

对话框构造函数失败,出现
NullPointerException
。我能想到的唯一原因是,您传递的
上下文
参数确实是
null

如何初始化
上下文?

可以尝试以下操作:

final Dialog dialog = new Dialog(YourActivity.this);

我改为:final Dialog=newdialog(getContext());试着简单地传递“this”。如果仍然失败,请检查stacktrace是否仍然相同,或者其他东西现在是否失败?我使用了这个:ffinal Context Context=this;如果有一个红色标记,那么应该有一个与之相关的错误消息。。。尝试复制并粘贴错误消息。上下文类型必须为android.content.context-请参阅位于的对话框文档-----如果您在活动中使用此代码,您应该能够简单地编写final Dialog Dialog=new Dialog(this);--否则,请更新您的张贴与更多的代码细节。后者是你应该在这里使用。