Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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
Java 是否可以将[TextWatcher for button disable control]用于两个编辑文本?_Java_Android - Fatal编程技术网

Java 是否可以将[TextWatcher for button disable control]用于两个编辑文本?

Java 是否可以将[TextWatcher for button disable control]用于两个编辑文本?,java,android,Java,Android,我正在使用下面的代码,使我的按钮禁用,直到第一个输入框收到一些数字。 问题是,当我在第二次输入接收号码之前按下按钮时,应用程序就崩溃了 第一个输入变量是firstEdittext,第二个输入变量是secondEditText firstEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int sta

我正在使用下面的代码,使我的按钮禁用,直到第一个输入框收到一些数字。 问题是,当我在第二次输入接收号码之前按下按钮时,应用程序就崩溃了

第一个输入变量是
firstEdittext
,第二个输入变量是
secondEditText

firstEditText.addTextChangedListener(new TextWatcher() {

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

        }

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {

            Btn.setEnabled(!(firstEditText.getText().toString().trim().isEmpty());


        }

        @Override
        public void afterTextChanged(Editable s) {

        }
    });
}
是否可以同时使用此TextWatcher?
或者我需要使用另一种方法使我的按钮处于禁用状态

该错误是由于试图从
secondEditText
解析空文本而导致的。在这种情况下,您需要将
TextWatcher
设置为
EditText
s

您可以通过在类中定义一个命名的
TextWatcher
,然后将这两个
EditText
s都设置为使用它。您还需要修复启用按钮的检查条件

内部
onCreate()


pl分享你的堆栈回溯问题:他正在使用按钮的点击监听器。我相信,在这种情况下,错误是由于试图解析第二个(空)文本造成的。如果我有空的第二个或两个文本,我会崩溃,那么我可以在哪里定义(tw)?您可以在类中将其定义为类变量(在
onCreate()
之前),也可以在
onCreate()
中定义它,就在
firstEditText.addTextChangedListener(tw)之前Idk,我将其定义为TextWatcher tw;在onCreate()不起作用之前,我必须使用错误的defineTextWatcher tw=(TextWatcher)findviewbyd(R.id.tw),但仍然不知道如何将tw连接到好的对象
TextWatcher tw = new TextWatcher() {
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {

    }

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        Btn.setEnabled(!TextUtils.isEmpty(firstEditText.getText()) && !TextUtils.isEmpty(secondEditText.getText()));
    }

    @Override
    public void afterTextChanged(Editable s) {

    }
};

firstEditText.addTextChangedListener(tw);
secondEditText.addTextChangedListener(tw);