我想知道如何使用一个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);
}
;
}
答案 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
。对于数字,您有三种选择:number
,numberSigned
或numberDecimal
。
这取决于你想要什么。
然后,如果要将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);
myEditValue
是myEditNum
的字符串版本。