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为空时,在这种情况下,按钮笔划不会改变??