在EditText Changed Listener上,Integer.parseInt()不起作用

时间:2012-08-16 22:13:48

标签: android parsing listener onchange android-edittext

当将解析文本的行添加到整数时,app会停止,并且在没有此行的情况下效果很好

final TextView secNumber= (TextView)findViewById(R.id.secNumber);
final EditText mainNumber=(EditText)findViewById(R.id.mainNumber);

mainNumber.addTextChangedListener(new TextWatcher(){
    public void afterTextChanged(Editable S){
        secNumber.setText(Integer.parseInt(S.toString())*100);
    }

    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
            int arg3) {
        // TODO Auto-generated method stub

    }

    public void onTextChanged(CharSequence s, int start, int before,
            int count) {
        // TODO Auto-generated method stub

    }
});

3 个答案:

答案 0 :(得分:1)

试试这个:

 secNumber.setText((Integer.parseInt(S.toString())*100).toString());

答案 1 :(得分:0)

你需要找出S中的内容。显然,它不是可解析的。将parseInt操作包含在try catch块中,或使用“TryParse”,如图here所示。

答案 2 :(得分:0)

您为secNumber.setText( Integer )提供了一个Integer,该函数可能需要一个String。最后放一个toString()。

尝试类似的东西

Integer  pipi= Integer.parseInt(S.toString())*100);
secNumber.setText(pipi.toString());