Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
EditText Android上的TextWatcher_Android_Textwatcher - Fatal编程技术网

EditText Android上的TextWatcher

EditText Android上的TextWatcher,android,textwatcher,Android,Textwatcher,我有2个edittext,我想将第二个edittext设置为0,如果第一个edittext的值小于10,则将其禁用。我使用了TextWatcher,但运行时出现堆栈溢出错误。有人能帮我吗?? 我的代码如下: qteDev = (EditText) findViewById(R.id.edt_qtedev); qte = (EditText) findViewById(R.id.edt_qte); qte.addTextChangedListener(new TextWat

我有2个edittext,我想将第二个edittext设置为0,如果第一个edittext的值小于10,则将其禁用。我使用了TextWatcher,但运行时出现堆栈溢出错误。有人能帮我吗?? 我的代码如下:

    qteDev = (EditText) findViewById(R.id.edt_qtedev);
    qte = (EditText) findViewById(R.id.edt_qte);
    qte.addTextChangedListener(new TextWatcher() {

    public void onTextChanged(CharSequence s, int start, int before, int count) {           
         if(qte.getText().toString().equals(""))
             return ;
         int l = qte.getText().length();
         if (l == 1) {
             qteDev.setText("0");
             qteDev.setClickable(false);
             qteDev.setEnabled(false);
             qteDev.setActivated(false);
         }
    }

    public void beforeTextChanged(CharSequence s, int start, int count, int after) {
         // TODO Auto-generated method stub
    }

    public void afterTextChanged(Editable s) {
        // TODO Auto-generated method stub
    }
});

在您的
PostTextChanged
方法中尝试以下操作:

public void afterTextChanged(Editable s) {
    if(Integer.parseInt(s.toString()) < 10) {
        secondEditText.setText(0);
        secondEditText.setEnabled(false);
    }
}
public void-afterextchanged(可编辑){
if(Integer.parseInt(s.toString())<10){
secondEditText.setText(0);
secondEditText.setEnabled(false);
}
}

尝试修复您更改后的方法

qteDev = (EditText) findViewById(R.id.edt_qtedev);
qte = (EditText) findViewById(R.id.edt_qte);
qte.addTextChangedListener(new TextWatcher() {

public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub
    if(s.toString().length() < 10){
        qteDev.setText("0");
        qteDev.setEnable(false);
    }
}
qteDev=(EditText)findViewById(R.id.edt_qteDev);
qte=(EditText)findViewById(R.id.edt_qte);
qte.addTextChangedListener(新的TextWatcher(){
公共无效后文本已更改(可编辑){
//TODO自动生成的方法存根
如果(s.toString().length()<10){
qteDev.setText(“0”);
qteDev.setEnable(false);
}
}

如果有任何问题,请发表任何评论。谢谢

请发布错误(log cat)它在secondEditText.setText(“0”)行中仍然会出现相同的错误;我将通过将0作为默认值并测试激活来解决它。无论如何,谢谢:)