如何在Android中为EditText的值添加一个

如何在Android中为EditText的值添加一个,android,int,Android,Int,我试图从EditText中获取字符串,并在单击按钮时向值添加1,但不是执行1+1并将其设置为2,而是输出到EditText 1111,以此类推。我需要一些人帮我做数学题。提前谢谢 int rentPrice = 0; int peopleCount = 0; rentPrice = Integer.parseInt(mRentPriceText.getText().toString()); mybutton.setOnClickListent(new OnClickListener(){

我试图从EditText中获取字符串,并在单击按钮时向值添加1,但不是执行1+1并将其设置为2,而是输出到EditText 1111,以此类推。我需要一些人帮我做数学题。提前谢谢

int rentPrice = 0;

int peopleCount = 0;

rentPrice = Integer.parseInt(mRentPriceText.getText().toString());

mybutton.setOnClickListent(new OnClickListener(){
    mRentPriceText.setText(rentPrice+1);
}

字符串实际上是1。所以“1”+“1”=“11”

因此,您必须首先将其转换为int并添加1,然后再将其转换为String并将其设置为EditText

所以改变这条线

mRentPriceText.setText(rentPrice+1);

mRentPriceText.setText(Integer.toString(rentPrice+1))

试试这个

int temp = 0;
int rentPrice = 0;

int peopleCount = 0;

rentPrice = Integer.parseInt(mRentPriceText.getText().toString());
temp =rentPrice+1
mybutton.setOnClickListent(new OnClickListener(){
    mRentPriceText.setText(String.valueOf(temp));
}
试着这样做:

int rentPrice = 0;

int peopleCount = 0;



mybutton.setOnClickListent(new OnClickListener(){
rentPrice = Integer.parseInt(mRentPriceText.getText().toString());
int out = rentPrice+1;
    mRentPriceText.setText(String.valueOf(out));//Convert out to string
}

如果您将int值指定为set text,那么它将找到一些字符串资源,因此将int转换为string并使用inner()将+1添加到rentPrice:

mRentPriceText.setText(String.valueOf((rentPrice+1)));

如果您正在执行mTextview.setText(someInteger),则更有可能出现以下异常

android.content.res.Resources$NotFoundException: String resource ID #0x2
            at android.content.res.Resources.getText(Resources.java:1134)
            at android.widget.TextView.setText(TextView.java:4940)
       2
因为TextView.setText(int)使android认为您可能指的是一些
R.string.some\u string
。因此,将您的计算工作在字符串中总结为String.valueOf(“一些计算”)

我还有一些给你的提示

不要在
rentPrice=Integer.parseInt(mRentPriceText.getText().toString())行中使用toString()否则您很可能会得到一些时间
NullPointerException

相反,我总是和你一起去


rentPrice=Integer.parseInt(String.valueOf(mRentPriceText.getText())

尝试以下方法:mRentPriceText.setText(String.valueOf((rentPrice+1));