我有一个的EditText框,用户可以输入输入。 我需要显示在一个TextView输入文本(其被放置在下面EDITTEXT),而用户输入的文本。
对于实施例:如果用户进入EDITTEXT框中的任何字符,我需要显示在TextView的相同的字符。 以同样的方式,如果用户从editetext删除任何角色,我需要从TextView的去除相同的字符。 (Ultimtely,我想改变的TextView对editext的文字的改变文字)。 我希望我的要求,现在是明确的。 我怎样才能做到这一点? 请指引我
Answer 1:
添加TextWatcher您EDITTEXT。 在afterTextChanged()
做你的操作。 http://developer.android.com/reference/android/text/TextWatcher.html
TextWatcher inputTextWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
textview.setText(s.toString());
}
public void beforeTextChanged(CharSequence s, int start, int count, int after){
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
};
editText.addTextChangedListener(inputTextWatcher);
Answer 2:
edtText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
if (!edtText.getText().toString().equalsIgnoreCase("")){
// here textview.setText(edtText.getText());
}
}
});
}
Answer 3:
你应该覆盖此方法:
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(editText.getText().length() >= 0) {
textView.setText(editText.getText().toString())
}
}
});
文章来源: How to change TextView's text on change of EditText's text?