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

时间:2015-01-27 09:36:32

标签: android android-edittext increment

我有一个带有数字输入类型的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);
}

3 个答案:

答案 0 :(得分:2)

edit_text.setText(incremento);

这一行给你错误。改为。

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

原因是,您无法在int中直接放置setText(),因为它会尝试查找与您id对应的int并且失败的资源。

答案 1 :(得分:0)

更新此..

edit_text.setText(""+incremento);

因为setText()需要String作为参数而不是Integer ...因此用最后需要的整数返回String来构思“”

答案 2 :(得分:0)

这个怎么样:

@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. 根据输入类型,numeric应与int / integer一起使用,decimal与double / Double一起使用。您必须注意转换string / double / int,因为有时可能无法进行转换,因此您需要处理这种情况。
  2. 您可以通过两种可能的方式从int转换为字符串:

    • edit_text.setText(incremento +"");
    • edit_text.setText(将String.valueOf(incremento));