【发布时间】:2018-07-12 20:52:56
【问题描述】:
我正在尝试使用 android 显示一个简单的对话框,但它在启动时崩溃。
MainActivity.java:
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MessageDialog messageDialog = new MessageDialog();
Dialog dialog = messageDialog.onCreateDialog(savedInstanceState);
dialog.show();
}
}
MessageDialog.java:
public class MessageDialog extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
FragmentActivity activity = getActivity();
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
builder.setMessage("Hello World").setPositiveButton("0K", null);
return builder.create();
}
}
错误:
E/AndroidRuntime: 致命异常: main 进程:com.example.*****.*****,PID:7458 java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.*****.*****/com.example.*****.*****.MainActivity}: java.lang.NullPointerException:尝试调用虚拟方法 'android.content.res.Resources$主题 android.content.Context.getTheme()' 在空对象引用上 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2924) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2985) 在 android.app.ActivityThread.-wrap14(ActivityThread.java) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1635) 在 android.os.Handler.dispatchMessage(Handler.java:102)
【问题讨论】:
标签: android android-alertdialog