[英]one Textwatcher for two Edittexts - android
我有兩個Edittext,當第一個Edittext更改時,為第二個Edittext設置文本輸出。 當第二個Edittext更改時,設置第一個Edittext的文本輸出。 如何設置它們?
謝謝
inputValue = (EditText) findViewById(R.id.EditTextValue);
ResultView = (EditText) findViewById(R.id.TextViewResult);
inputValue.addTextChangedListener(textWatcher);
ResultView.addTextChangedListener(textWatcher);
public TextWatcher textWatcher = new TextWatcher() {
private View view;
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
public void afterTextChanged(Editable arg0) {
}
}
};
創建2個文本監視器,例如am和am2
TextWatcher am,am2;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.YOUR_XML);
am = new TextWatcher(){
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
inputValue.addTextChangedListener(this);
ResultView.setText("");
}
};
am2 = new TextWatcher(){
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
public void afterTextChanged(Editable s) {
ResultView.addTextChangedListener(this);
inputValue.setText("");
}
};
inputValue.setOnFocusChangeListener(new OnFocusChangeListener(){
public void onFocusChange (View v, boolean hasFocus){
inputValue.removeTextChangedListener(am);
ResultView.removeTextChangedListener(am2);
setOnTextChangedListener(hasFocus);
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.