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

时间:2012-05-30 09:43:05

标签: android alertdialog android-alertdialog

在我的应用程序代码的某些部分,我有一个方法,显示AlertDialog以从用户获取值(数字)。但是当我尝试将它保存在变量(int)中并返回它时,我得到了这个编译错误:

enter image description here

错误说:“不能在不同方法中定义的内部类中引用非最终变量 bet

所以我尝试下注最后一个变量,得到一个新的错误:“无法分配最终的局部变量赌注,因为它是以封闭类型定义的”

我的想法是调用该方法,显示警告对话框,获取输入值并将其返回。

3 个答案:

答案 0 :(得分:1)

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...
    }
}

答案 1 :(得分:0)

您可以简单地全局分配变量并使用它。

有关详细说明,请参阅此处

Cannot refer to a non-final variable inside an inner class defined in a different method

正如here

提到的jon-skeet
  

任何局部变量,形式方法参数或异常处理程序   必须声明已使用但未在内部类中声明的参数   最后。使用但未在内部类中声明的任何局部变量   必须在内部类的主体之前明确地分配(§16)。

答案 2 :(得分:0)

我发现问题的“解决方案”是下一个:

我在'onClick();'

中移动了需要用户输入的代码