я реализую TextWatcher в деятельности:Реализация нескольких TextWatchers на одной и той же деятельности
public class Coordinate extends Activity implements TextWatcher {
/** Called when the activity is first created. */
......
Тогда
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
........
Часть моей проблемы заключается в том, что имея более чем один TextChangedListener вызывает приложение до ФК
txtDdLatDeg.addTextChangedListener(this);
txtDMmLatDeg.addTextChangedListener(this);
txtDMSLatDeg.addTextChangedListener(this);
Тогда
@Override
public void afterTextChanged(Editable s) {
String c = s.toString(); // read Content
// stuff to do later
((EditText)findViewById(R.id.txtDMSLatDeg)).setText(c);
((EditText)findViewById(R.id.txtDdLatDeg)).setText(c);
return;
} // End of TextChanged method
Мне нужно, чтобы иметь возможность обновить один EditText и имеют другие два обновления на лету.
Может показаться, что это работает, когда только один EditText имеет addChangeListener
.
Я также не могу реализовать отдельный afterTextChanged
метод для отдельного пользователя EditText полей.
Не знаю, почему, но я до сих пор не могу заставить это работать с более чем одним объявлением addTextChangedListener ... Я буду держать на нем. – RotorDroid
Хорошо ... Я решил это с помощью инструкции if для проверки фокуса: – RotorDroid
'2 метода для реализации: - android.text.TextWatcher.beforeTextChanged() - android.text.TextWatcher.onTextChanged()' –