我有一个复合控件'EditLine
',其中包含带有Textviews
,Imageviews
和EditText
的RelativeLayout。我想要一个使用EditLine
来使用onTextChanged
的{{1}}事件的Activity。例如:用户键入“是”后,活动其他位置的按钮就会启用或类似的功能。
这有可能吗?
答案 0 :(得分:0)
您需要在编辑文本上使用文本监视程序以捕获任何编辑文本事件
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
}
}
});
答案 1 :(得分:0)
您可以在 EditText 中添加 TextWatcher ,并使用 TextWatcher 的onTextChanged(CharSequence s, int start, int before, int count)
方法处理所有文本更改。
示例:
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);