如何在EditText上应用Textchange事件

Zal*_*inh 26 android textwatcher android-edittext

我开发了一个简单的应用程序,如减法,添加.在这个应用程序中,我使用三个EditTexts,一个用于回答,另外两个用于提问.我想计算文本更改事件的问题答案.但是当我对这两个应用文本更改事件时,事件发生但不正常工作.因为当我在问题的第一个EditText中输入文本时事件发生但它抛出此异常:

07-03 16:39:48.844: E/EduApp Log :=>(12537): Error In Text change Event java.lang.NumberFormatException: unable to parse '' as integer
Run Code Online (Sandbox Code Playgroud)

我该怎么办?我使用TextWatcherfor text change事件.

txtOne.addTextChangedListener(this);
txtTwo.addTextChangedListener(this);

public void afterTextChanged(Editable s) {}

public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

public void onTextChanged(CharSequence s, int start, int before, int count) {}  
Run Code Online (Sandbox Code Playgroud)

And*_*lva 45

我认为你收到空字符串" ",这导致了这个问题.确保从你的EditText.获得非空字符串.

考虑一下你EditText没有输入任何值,并且你试图获得它的值并转换成int你会遇到这种问题.

edittext.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start, int before,
            int count) {
            if(!s.equals("") ) { 
                //do your work here 
            }
    }



    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {

    }

    public void afterTextChanged(Editable s) {

    }
});
Run Code Online (Sandbox Code Playgroud)

另请查看此链接以获取更多信息,

/sf/answers/236435391/