Android 获取并保存EditText的输入(在AlertDialog中)
在我的应用程序代码的某些部分,我有一个显示AlertDialog的方法,可以从用户那里获取值(数字)。但当我试图将其保存在变量(int)中并返回它时,会出现以下编译错误: 错误为:“无法在其他方法中定义的内部类中引用非最终变量bet” 因此,我尝试将bet设置为最终变量,得到一个新的错误:“无法分配最终局部变量bet,因为它是在封闭类型中定义的”Android 获取并保存EditText的输入(在AlertDialog中),android,android-alertdialog,Android,Android Alertdialog,在我的应用程序代码的某些部分,我有一个显示AlertDialog的方法,可以从用户那里获取值(数字)。但当我试图将其保存在变量(int)中并返回它时,会出现以下编译错误: 错误为:“无法在其他方法中定义的内部类中引用非最终变量bet” 因此,我尝试将bet设置为最终变量,得到一个新的错误:“无法分配最终局部变量bet,因为它是在封闭类型中定义的” 我的想法是调用该方法,显示警报对话框,获取输入值并返回它。您只需全局分配变量并使用它 有关更多说明,请参见此处 正如 任何局部变量、形式方法参数或
我的想法是调用该方法,显示警报对话框,获取输入值并返回它。您只需全局分配变量并使用它 有关更多说明,请参见此处 正如 任何局部变量、形式方法参数或异常处理程序 必须声明在内部类中使用但未声明的参数 最终的在内部类中使用但未声明的任何局部变量 必须在内部类主体之前明确指定(§16)
将
bet
声明为全局变量
public class SomeActivity extends Activity {
int bet=0;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
private int betDialog()
{
//some code...
}
}
我发现的问题的“解决方案”是:
我将需要用户输入的代码移到了“onClick();”中 我尝试了这种方法,但由于警报对话框不会阻止其余的处理,因此当我调用betDialog()并在下一行中得到“bet”值时,我得到了“0”