Tôi có một hộp EditText nơi người dùng có thể nhập đầu vào. Tôi cần hiển thị văn bản đầu vào trong một TextView (được đặt bên dưới Edittext) trong khi người dùng nhập văn bản.
Ví dụ: Nếu người dùng nhập bất kỳ ký tự nào trong hộp Edittext, tôi cần hiển thị các ký tự giống nhau trong TextView. Trong cùng một cách, nếu người dùng xóa bất kỳ ký tự nào từ editetext, tôi cần phải loại bỏ cùng một ký tự từ TextView. (Tối đa, tôi muốn thay đổi văn bản của textview về thay đổi văn bản của editext). Tôi hy vọng yêu cầu của tôi là rõ ràng ngay bây giờ. Làm thế nào tôi có thể đạt được điều này ? Vui lòng hướng dẫn tôiLàm thế nào để thay đổi văn bản của TextView khi thay đổi văn bản của EditText?
6
A
Trả lời
21
Thêm TextWatcher vào Edittext của bạn. trong afterTextChanged()
hoạt động của bạn. 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);
4
Bạn nên ghi đè phương pháp này:
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())
}
}
});
5
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());
}
}
});
}
Hãy xem này: http://www.andreabaccega.com/blog/2010/10/09/onchange- event-on-edittext-in-android / – Urho