【问题标题】:Button Click Error In Dialog Box对话框中的按钮单击错误
【发布时间】:2013-10-08 07:31:21
【问题描述】:

在我的应用程序中,我使用了一个对话框,它自己加载布局。

当我单击对话框中的按钮(对话框中加载布局中的按钮)时,我的应用程序崩溃并显示消息,不幸的是应用程序已停止。代码的关键部分如下。

void contact_list_dialog()
{
   dialog = new Dialog(MainActivity.this,
                android.R.style.Theme_Translucent);
   dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);

   dialog.setContentView(R.layout.test);

   b1=(Button)findViewById(R.id.button1);
   b1.setOnClickListener(this);

   dialog.setCancelable(true);
   dialog.setTitle("ListView");

   dialog.getWindow().setGravity(Gravity.RIGHT);
   dialog.getWindow().setLayout(300, 500);

   dialog.show();
}

Logcat:

01-01 15:34:46.700: E/AndroidRuntime(13044): FATAL EXCEPTION: main

01-01 15:34:46.700: E/AndroidRuntime(13044): java.lang.NullPointerException
01-01 15:34:46.700: E/AndroidRuntime(13044):    at com.sms.card.offline.MainActivity.contact_list_dialog(MainActivity.java:184)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at com.sms.card.offline.MainActivity.onClick(MainActivity.java:304)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at android.view.View.performClick(View.java:4204)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at android.view.View$PerformClick.run(View.java:17355)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at android.os.Handler.handleCallback(Handler.java:725)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at android.os.Handler.dispatchMessage(Handler.java:92)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at android.os.Looper.loop(Looper.java:137)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at android.app.ActivityThread.main(ActivityThread.java:5041)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at java.lang.reflect.Method.invokeNative(Native Method)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at java.lang.reflect.Method.invoke(Method.java:511)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
01-01 15:34:46.700: E/AndroidRuntime(13044):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)  
01-01 15:34:46.700: E/AndroidRuntime(13044):    at dalvik.system.NativeStart.main(Native Method)

【问题讨论】:

标签: android dialog


【解决方案1】:

改变

b1=(Button)findViewById(R.id.button1);

b1=(Button)dialog.findViewById(R.id.button1);

您没有正确获取按钮。这给了你NullPointerException。您应该使用dialog. 来初始化对话框的视图。

希望对你有帮助。

【讨论】:

  • 抱歉 - 我还有一个问题;我在清单中使用 android:windowSoftInputMode="stateHidden" 来禁用应用启动时的焦点,但我的 textview 尚未设置焦点。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
相关资源
最近更新 更多