自定义对话框未显示-Android
我试图弹出一个自定义对话框,当我点击一个按钮,但它不会弹出。我的应用程序基本上是一个日历,我将使用sqlite添加/保留约会,并使用对话框将约会细节指定到日历中的某个日期 我使用的代码如下所示:自定义对话框未显示-Android,android,dialog,customdialog,Android,Dialog,Customdialog,我试图弹出一个自定义对话框,当我点击一个按钮,但它不会弹出。我的应用程序基本上是一个日历,我将使用sqlite添加/保留约会,并使用对话框将约会细节指定到日历中的某个日期 我使用的代码如下所示: public void onClick(View v) { // TODO Auto-generated method stub //long a = calendar.getDate(); switch(v.getId()){ case
public void onClick(View v) {
// TODO Auto-generated method stub
//long a = calendar.getDate();
switch(v.getId()){
case R.id.createButton:
openCreateAppointmentDialog();
break;
}
}
private void openCreateAppointmentDialog(){
Context mContext = getApplicationContext();
Dialog createAppmntDialog = new Dialog(mContext);
createAppmntDialog.setContentView(R.layout.create);
createAppmntDialog.setTitle(R.string.createTitle);
appointmentTitle = (EditText) createAppmntDialog.findViewById(R.id.titleTextBox);
appointmentTitle.setText("hello");
appointmentTime = (EditText) createAppmntDialog.findViewById(R.id.timeTextBox);
appointmentDetails = (EditText) createAppmntDialog.findViewById(R.id.detailsTextBox);
saveAppointment = (Button) createAppmntDialog.findViewById(R.id.saveButton);
saveAppointment.setOnClickListener(this);
}
我做错了什么?调用对话框的方法
createAppmntDialog.show(); //when you want the dialog to appear on the screen
调用对话框的方法
createAppmntDialog.show(); //when you want the dialog to appear on the screen
谢谢你,呵呵,不过我遇到了运行时异常,所以我的系统一定出了问题code@AZ1运行时异常的意思是…?04-20 09:16:03.286:E/AndroidRuntime(1188):android.view.WindowManager$BadTokenException:无法添加窗口--标记null不适用于应用程序我从对话框中删除了上下文,只是说…新建对话框(此);它是有效的,但这对于想要获取用户输入并将其存储在sqlite数据库中安全吗?@AZ1嗯,
对话框
构造函数需要一个上下文
引用,只是它不能与应用程序上下文
一起工作。通过传递此
(使用此
您指的是构建对话框的当前活动)您提供了当前活动上下文
,这将起作用。谢谢您的帮助,呵呵,但我遇到了一个运行时异常,所以我的数据库中一定出了问题code@AZ1运行时异常的意思是…?04-20 09:16:03.286:E/AndroidRuntime(1188):android.view.WindowManager$BadTokenException:无法添加窗口--TokenNull不适用于应用程序我从对话框中删除了上下文,只说了…new dialog(这个);它是有效的,但这对于想要获取用户输入并将其存储在sqlite数据库中安全吗?@AZ1嗯,对话框
构造函数需要一个上下文
引用,只是它不能与应用程序上下文
一起工作。通过传递此
(使用此
您指的是构建对话框的当前活动),您提供了当前活动上下文
,这将起作用。