Java Android-如何获取EditText(数字),然后将其转换为整数用于数学?
我想知道如何获取一个EditText区域,用户可以在其中输入一个数字,然后将其设置为整数,以便在程序中使用它进行加法、减法、除法,基本上,我需要测试输入,以便能够在代码中的计算器中使用,然后需要将其放入文本视图或字符串中,以便用户可以看到最终答案 更多信息: 我有三个EditText区域,用户必须填写这三个区域,然后按“equals”,它会告诉他们答案,所有的数学等都需要在代码中,这样用户只需输入信息,而不需要实际计算任何内容。 谢谢你的帮助,如果你需要更多的信息,请问我 这样做的最佳方法和代码将对我有很大帮助 我已经添加了建议的代码,但是我仍然在parseInt上得到一个错误,我仍然需要添加一个按钮来计算在EditText区域中输入的数字。我该怎么做?很抱歉,我对Java和Android开发感到非常抱歉Java Android-如何获取EditText(数字),然后将其转换为整数用于数学?,java,android,integer,textview,android-edittext,Java,Android,Integer,Textview,Android Edittext,我想知道如何获取一个EditText区域,用户可以在其中输入一个数字,然后将其设置为整数,以便在程序中使用它进行加法、减法、除法,基本上,我需要测试输入,以便能够在代码中的计算器中使用,然后需要将其放入文本视图或字符串中,以便用户可以看到最终答案 更多信息: 我有三个EditText区域,用户必须填写这三个区域,然后按“equals”,它会告诉他们答案,所有的数学等都需要在代码中,这样用户只需输入信息,而不需要实际计算任何内容。 谢谢你的帮助,如果你需要更多的信息,请问我 这样做的最佳方法和代码
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);
}
;
}
您必须在EditText的属性中更改
输入类型
。对于数字,您有三种选择:number
、numberSigned
或numberDecimal
。
这取决于你想要什么
然后,如果要将EditText上的字符串转换为整数,可以执行以下操作:
int value = new Integer(myEditText.getText().toString()).intValue;
首先,获取EditText的一个实例:
EditText myEdit = (EditText) findViewById(R.id.edittext1);
然后获取当前显示的字符串:
String myEditValue = myEdit.getText().toString();
然后将其解析为整数:
int myEditNum = Integer.parseInt(myEditValue);
我使用上面的方法获取用户输入的数字格式。但是,当我尝试使用setText()方法在TextView(textOut1)中显示int myEditNum时,我得到了setText方法的一个错误(表示:''无法在基元类型int''上调用setText(TextView))
我还尝试(在下面)将int myEditNum转换为字符串,然后将其显示为TextView,但仍然无法工作,因为我得到setText方法的以下错误:“”类型字符串“”的方法setText(TextView)未定义。
EditText myEdit=(EditText)findViewById(R.id.edittext1)
为什么会发生这种情况?我如何解决它?您应该使用:
myEdit.setText(myEditValue);
myEditValue
是myEditNum
“String myEditValue=myEdit.getText();”的字符串版本,-EditText
的getText()
方法返回类型为Editable
的对象,您需要使用toString()
来获取实际文本。非常感谢。要在用户按下“Equals”之类的按钮后向用户显示最终结果,我想将整数转换回字符串或文本视图吗?我知道我可以在程序/应用程序的数学部分使用整数,但我不知道如何在用户按下按钮后将计算结果的答案返回给用户。Austin,在计算最终结果后,只需使用.setText(result)方法(我假设您使用的是TextView)。不要担心将整数结果转换为字符串。您应该小心不要超过EditText中的integer.MAX_值,否则会出现NumberFormatException。
String myEditValue = myEdit.getText().toString();
int myEditNum = Integer.parseInt(myEditValue);
String texting = Integer.toString(myEditNum);
texting.setText(textOut1);
myEdit.setText(myEditValue);