Android 获取并保存EditText的输入(在AlertDialog中)

Android 获取并保存EditText的输入(在AlertDialog中),android,android-alertdialog,Android,Android Alertdialog,在我的应用程序代码的某些部分,我有一个显示AlertDialog的方法,可以从用户那里获取值(数字)。但当我试图将其保存在变量(int)中并返回它时,会出现以下编译错误: 错误为:“无法在其他方法中定义的内部类中引用非最终变量bet” 因此,我尝试将bet设置为最终变量,得到一个新的错误:“无法分配最终局部变量bet,因为它是在封闭类型中定义的” 我的想法是调用该方法,显示警报对话框,获取输入值并返回它。您只需全局分配变量并使用它 有关更多说明,请参见此处 正如 任何局部变量、形式方法参数或

在我的应用程序代码的某些部分,我有一个显示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”