Android - 如何获取EditText(数字)然后将其转换为整数以用于数学?

时间:2011-08-04 21:27:24

标签: java android integer textview android-edittext

我想知道如何使用一个EditText区域,用户可以输入一个数字,然后使它成为一个整数,这样它就可以在程序中用于加,减,除等。基本我需要测试输入能够在代码中使用的计算器中使用,然后需要将其放入TextView或字符串中,以便用户可以看到最终答案。

更多信息: 我有三个EditText区域,用户必须填写所有三个区域,然后按“等于”它会告诉他们答案,所有数学和此类需要在代码中,以便用户只输入信息而不实际计算任何东西。 感谢您的帮助,如果您需要更多信息,请询问我。

这样做的最好方法和代码对我有很大的帮助。

我添加了建议的代码但是我仍然在parseInt上出错,我仍然需要添加一个按钮来计算在EditText区域中输入的数字。我该怎么做?对不起,我对Java和Android开发非常了解。

             package com.example.one;


             import com.example.one.R;

             import android.app.Activity;
             import android.content.Intent;
             import android.os.Bundle;
             import android.text.Editable;
             import android.view.View;
             import android.widget.Button;
             import android.widget.EditText;

             public class monthlyp extends Activity{

         @Override
        protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.monthlyp);


   EditText editone = (EditText) findViewById(R.id.editone);
   EditText editoneValue = (EditText) editone.getText();
   int editoneNum = Integer.parseInt(editoneValue);

    }
   ;

   }

4 个答案:

答案 0 :(得分:12)

首先,获取EditText的实例:

EditText myEdit = (EditText) findViewById(R.id.edittext1);

然后获取当前显示的字符串:

String myEditValue = myEdit.getText().toString();

然后解析整数:

int myEditNum = Integer.parseInt(myEditValue);

答案 1 :(得分:3)

您必须在EditText的属性中更改Input type。对于数字,您有三种选择:numbernumberSignednumberDecimal。 这取决于你想要什么。

然后,如果要将EditText上的字符串转换为整数,可以执行以下操作:

int value = new Integer(myEditText.getText().toString()).intValue;

答案 2 :(得分:1)

EditText myEdit = (EditText) findViewById(R.id.edittext1);

String myEditValue = myEdit.getText().toString();

int myEditNum = Integer.parseInt(myEditValue);

myEditNum.setText(textOut1);

我使用上面的方法将用户输入作为数字格式。但是,当我尝试使用setText()方法在TextView(textOut1)中显示int myEditNum时,我得到setText方法的错误(说:''无法在基本类型int''上调用setText(TextView)。 / p>

我也试过(下面)将int myEditNum转换为String然后将其显示到TextView但仍然无效,因为我得到了setText方法的以下错误:''方法setText(TextView)未定义对于String''类型。 EditText myEdit =(EditText)findViewById(R.id.edittext1);

String myEditValue = myEdit.getText().toString();

int myEditNum = Integer.parseInt(myEditValue);


String texting = Integer.toString(myEditNum);

texting.setText(textOut1);

为什么会发生这种情况,我该如何解决?

答案 3 :(得分:1)

您应该使用:

myEdit.setText(myEditValue);

myEditValuemyEditNum的字符串版本。