我有一个复合控件'EditLine
',其中包含一个带有Textviews
、Imageviews
和EditText
的相对布局。我想让使用EditLine
的活动来使用EditLine
的onTextChanged
事件。例如:一旦用户键入"是",活动上其他地方的按钮就会启用或类似的东西。 这可能吗?
您可以将 TextWatcher添加到EditText中onTextChanged(CharSequence s, int start, int before, int count)
并在TextWatcher的方法中处理所有文本更改。
例:
EditText myEditText = findViewById(R.id.my_edit_text);
TextWatcher myTextWatcher = 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) {
}
@Override
public void afterTextChanged(Editable s) {
//do validation on input here
//for example
if(s.toString().equalsIgnoreCase("yes")){
//then perform some action.
// Make your button enable for example
}
};
myEditText.addTextChangedListener(myTextWatcher);
您需要在编辑文本上使用文本观察器来捕获任何编辑文本事件
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(s.toString().equals("yes")){
// your code here
}
}
});