Android 在对话框生成器实例化对话框之前,在侦听器中引用对话框
我试图构建一个漂亮的快速对话框,让用户选择与主服务器的同步间隔Android 在对话框生成器实例化对话框之前,在侦听器中引用对话框,android,dialog,Android,Dialog,我试图构建一个漂亮的快速对话框,让用户选择与主服务器的同步间隔 public void editSyncInterval(View view) { final AlertDialog intervalDialog; final CharSequence[] items = { "1 minute", "2 minutes", "5 minutes", "10 minutes", "30 minutes" }; AlertDialog.Builder builder = new AlertDi
public void editSyncInterval(View view)
{
final AlertDialog intervalDialog;
final CharSequence[] items = { "1 minute", "2 minutes", "5 minutes", "10 minutes", "30 minutes" };
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Select Sync Interval");
builder.setSingleChoiceItems(items, -1, new DialogInterface.OnClickListener()
{
public void onClick(DialogInterface dialog, int item)
{
switch(item)
{
case 0:
//save
intervalDialog.dismiss();
break;
case 1:
//save
intervalDialog.dismiss();
break;
case 2:
//save
intervalDialog.dismiss();
break;
case 3:
//save
intervalDialog.dismiss();
break;
}
}
});
intervalDialog = builder.create();
intervalDialog.show();
}
但是,在intervalDialog.disclose()的4行上代码>,我得到以下错误:局部变量intervalDialog可能尚未初始化
我假设您需要在设置监听器等之后调用builder.create,但在这种情况下-您如何引用对话框本身-因为您还没有实例化它?您将对话框接口对话框
作为参数输入监听器。您可以对其调用discouse()
你应该使用
dialog.dismiss();
而不是
intervalDialog.dismiss();
为什么不使用onclick方法的dialog参数呢?如果包含生成器生成时将创建的对话框实例-->则应等于可用的intervalDialog。或者,您可以将intervalDialog变量设置为全局变量,例如,将其放入“活动成员”列表中。