Android 数字输入类型的 EditText:增量不起作用

Android EditText with numeric input type : the increment doesn't work

我有一个 EditText edit_text 的数字输入类型,我想在按下按钮“+”时增加其中的变量。我尝试了这段代码,但没有用。

我得到一个FATAL EXCEPTION

@Override
public void onClick(View v) {
    String value = edit_text.getText().toString();
    int value_int = Integer.parseInt(value);
    int incremento = value_int +1 ;
    edit_text.setText(incremento);
}
edit_text.setText(incremento);

这一行告诉你错误。将其更改为。

edit_text.setText(String.valueOf(incremento));

原因是你不能直接在setText()中放入一个int,因为它试图找到一个id对应于你int的资源,但失败了。

更新这个..

edit_text.setText(""+incremento);

因为 setText() 需要字符串作为参数而不是整数...因此将 "" 与整数连接 return 最终需要的字符串

这个怎么样:

@Override
        public void onClick(View v) {
            String value=edit_text.getText().toString();
            int value_int=Integer.parseInt(value);
            int incremento=value_int +1 ;
            edit_text.setText(incremento.toString());

        }
    });

一些注意事项:

  1. 根据输入类型,数字应与 int/integer 一起使用,小数应与 double/Double 一起使用。您必须注意转换 string/double/int,因为有时可能无法进行转换,因此您需要处理这种情况。
  2. 您可以通过两种可能的方式将整数转换为字符串:

    • edit_text.setText(递增 + "");
    • edit_text.setText(String.valueOf(增量));