将文本从EditText转换为整数值错误

时间:2014-08-04 10:00:20

标签: java android android-edittext setvalue

所以我现在正在开发我自己的私人应用程序,我只想为我和一些朋友使用。 嗯,我是德国人,所以我的英语可能不是最好的,我希望你能原谅我。

现在我的问题是我想在我的选项菜单中设置本月的预算以跟踪。我通过使用带有Button的EditText来实现这一点。

现在我想将在EditText中输入的String保存为String值和Integer值,因为我想在MainPage上的TextView中显示Value并使用Integer值来计算我当前的预算等等。

现在我告诉你们我的代码,我希望你能告诉我它的错误。 我试图在与我的OptionsMenu相关的Options类中获取我的Value,然后尝试从我的Options类中获取Value到我的Main类中。

public class Options extends Activity {
Button GoBack, SetBudget;
private int Budget;
String BudgetString = "";
EditText BudgetEdit;
@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.options);
    GoBack = (Button) findViewById(R.id.button2);
    GoBack.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            Intent GoBackToMain = new Intent("com.lunarrepublic.STARTINGPOINT");
            startActivity(GoBackToMain);

        }
    });

    SetBudget = (Button) findViewById(R.id.button8);

    SetBudget.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            BudgetEdit = (EditText) findViewById(R.id.editText1);
            BudgetString = EditText.getText();
            //In the Line above this is  the error "Type mismatch. Cannot convert Editable to String
            Budget = Integer.parseInt(BudgetString);

        }
    });
}

但是,如果我尝试设置我的" BudgetString"可编辑它也不会工作。 我的问题不需要GoBack按钮,所以你不必阅读它。

所以我希望你们明白我的问题是什么,也许可以帮助我解决问题

提前致谢

2 个答案:

答案 0 :(得分:1)

这是错误的

BudgetString = EditText.getText();

使用下面的

BudgetString = BudgetEdit.getText().toString();

答案 1 :(得分:0)

更改此

    SetBudget.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        BudgetEdit = (EditText) findViewById(R.id.editText1);
        BudgetString = EditText.getText();
        //In the Line above this is  the error "Type mismatch. Cannot convert Editable to String
        Budget = Integer.parseInt(BudgetString);

    }
});

   SetBudget.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        BudgetEdit = (EditText) Options.this.findViewById(R.id.editText1);
        BudgetString = BudgetEdit.getText();
        //In the Line above this is  the error "Type mismatch. Cannot convert Editable to String
        Budget = Integer.parseInt(BudgetString);

    }
});