Si8*_*Si8 3 java android android-edittext
我有以下代码:
nameOfInf.setOnFocusChangeListener(new OnFocusChangeListener() {
if (strTollAmount.length() > 0) {
nameOfInf.setBackgroundColor(getResources().getColor(android.R.color.white));
nameOfInf.setTextColor(getResources().getColor(android.R.color.black));
}
});
tollAmount.setOnFocusChangeListener(new OnFocusChangeListener() {
if (strInfName.length() > 0) {
tollAmount.setBackgroundColor(getResources().getColor(android.R.color.white));
tollAmount.setTextColor(getResources().getColor(android.R.color.black));
}
});
Run Code Online (Sandbox Code Playgroud)
该函数检查文本框上的值是否为空或null.因此,如果用户在文本框中输入内容,则背景和前景颜色应该更改.但那并没有发生.知道怎么编辑吗?
我认为你正在寻找的是TextWatcher(尽管onFocusChanged可能有用,但这是另一种方法).这是示例代码:
TextWatcher watcher= new TextWatcher() {
public void afterTextChanged(Editable s) {
if (TextBox1.getText().toString().equals("")) {
TextBox1.setBackgroundColor(getResources().getColor(android.R.color.white));
TextBox1.setTextColor(getResources().getColor(android.R.color.black));
}
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//Do something or nothing.
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
//Do something or nothing
}
};
TextBox1.addTextChangedListener(watcher);
Run Code Online (Sandbox Code Playgroud)
您还需要使用字符串比较.equals().