Java 当我的两个编辑文本不为空时,我可以更改按钮笔划颜色吗?

Java 当我的两个编辑文本不为空时,我可以更改按钮笔划颜色吗?,java,android,Java,Android,当两个EditText不为空时,如何更改按钮的笔划颜色 代码: if (editText1.getText().toString().trim().length() > 0 && editText2.getText().toString().trim().length() > 0) { btn.setBackgroundResources(R.drawable.change_stroke); } else { btn.setBackgroundReso

当两个
EditText
不为空时,如何更改
按钮的笔划颜色

代码:

if (editText1.getText().toString().trim().length() > 0 && editText2.getText().toString().trim().length() > 0) {
    btn.setBackgroundResources(R.drawable.change_stroke);
} else {
    btn.setBackgroundResources(R.drawable.change_normal);
}

使用文本监视程序
onTextChanged
在那里施展你的魔法

private class MyTextWatcher implements TextWatcher {

    private View view;

    private MyTextWatcher(View view) {
        this.view = view;
    }

    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {
        //set the default button stroke color

    }

    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            //set the final button stroke color

        }
      }
  }

使用可绘制文件或在资源文件中定义颜色

您应该为每个
EditText
实现并注册一个
TextWatcher

使用一些代码:

    // lookup for Views
    final EditText e1 = (EditText) rootView.findViewById(R.id.editText);
    final EditText e2 = (EditText) rootView.findViewById(R.id.editText2);
    final Button btn = (Button) rootView.findViewById(R.id.button);

    // TextWatcher definitions (to react on text changes)
    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) {
            if (e1.getText().length() > 0 && e2.getText().length() > 0) {
                btn.setBackgroundResources(R.drawable.change_stroke);
            } else {
                btn.setBackgroundResources(R.drawable.change_normal);
            }
        }

        @Override
        public void afterTextChanged(Editable s) { }
    }

    // text watcher registration to the 2 EditText
    e1.addTextChangedListener(tw);
    e2.addTextChangedListener(tw);

使用当前代码有什么问题?无效。。在运行时。。现在,m到了更累的位置:R.drawable.change\u stroke和R.drawable.change\u普通图像或xml?如果是xml,请提供代码。//你能再解释一下吗。。??请在编辑文本上设置文本监视程序,以监视按键笔划…开始键入前,将按钮笔划颜色设置为所需颜色,键入后,将其设置为最终所需颜色。由于上下文更改,已编辑回答。。。我只能处理一个文本视图,但如果我想在按钮笔划后填充两个编辑文本,则应更改。。那怎么办???帮助我使用
如果条件
即view.getid==R.id.EditText 1在EditText中写入一些数据后,它将正常运行。。但当你从EditText中删除或删除数据并使EditText为空时,在这种情况下,按钮笔划不会改变??