【问题标题】:How to add one to value of EditText in Android如何在 Android 中为 EditText 的值加一
【发布时间】:2014-11-21 06:04:08
【问题描述】:

我正在尝试从 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);
}

【问题讨论】:

  • 试试这个方法:mRentPriceText.setText(String.valueOf((rentPrice+1)));

标签: android int


【解决方案1】:

字符串实际上是连接 1。所以 "1"+"1"="11"。

所以你必须先将其转换为int并加1,然后将其重新转换为String并将其设置为EditText。

所以改变这一行

mRentPriceText.setText(rentPrice+1);

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

【讨论】:

    【解决方案2】:

    试试这个。

    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));
    }
    

    【讨论】:

      【解决方案3】:

      试试这样:

      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
      }
      

      【讨论】:

        【解决方案4】:

        如果您将 int 值作为设置文本,那么它将找到一些字符串资源,因此将 int 转换为字符串并使用 inner () 将 +1 添加到rentPrice:

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

        【讨论】:

          【解决方案5】:

          如果你在做 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_string 。因此,将您的计算工作包装在 String 中作为 String.valueOf("some calculation")

          我也有一些提示给你

          不要在rentPrice = Integer.parseInt(mRentPriceText.getText().toString()); 行中使用 toString() 否则你更有可能获得一些时间NullPointerException

          而是总是选择

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-11-20
            • 2021-01-28
            • 1970-01-01
            • 2012-01-12
            • 1970-01-01
            • 1970-01-01
            • 2020-12-03
            • 1970-01-01
            相关资源
            最近更新 更多