上
问题描述:
我在活动实施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导致应用程序到FC
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
。
我也似乎无法实现个别EditText字段的单独的afterTextChanged
方法。
答
然后创建为实例变量:
TextWatcher watcher1 = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {}
@Override
public void afterTextChanged(Editable s) { }
};
TextWatcher watcher2 = new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence c, int i, int i1, int i2) {}
@Override
public void onTextChanged(CharSequence c, int i, int i1, int i2) {}
@Override
public void afterTextChanged(Editable s) { }
};
然后,你可以这样做:
txtDdLatDeg.addTextChangedListener(watcher1);
txtDMmLatDeg.addTextChangedListener(watcher1);
答
好吧,我解决了这个由afterTextChanged
方法之前,对的EditText使用onFocus()
:
onCreate (Bundle icicle) {
// Usual stuff here
txtDdLatDeg.addTextChangeListener(watcher1);
}
TextWatcher watcher1 = new TextWatcher() {
if (txtDdLatDeg.hasFocus()) {
@Override
public void afterTextChanged(Editable s) {
String c = s.toString();
((EditText)findViewById(R.id.txtDMSLatDeg)).setText(c);
((EditText)findViewById(R.id.txtDMmLatDeg)).setText(c);
}
}};
我创建了一个in每个姿态变量EditText框我需要观看/操作。
不知道为什么,但我仍然无法得到这与声明的多个addTextChangedListener一起工作......我会继续努力。 – RotorDroid 2011-01-09 02:13:17