我实施 TextWatcher 在里面 活动:

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);
    ........

我的一部分问题是,拥有多个文本changedlistener会使该应用程序进入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 并随时进行其他两个更新。
我似乎只有一个只有一个 EDITTEXTaddChangeListener.
我似乎也无法实施单独 afterTextChanged 个人的方法 EDITTEXT 字段。

有帮助吗?

解决方案

然后将它们作为实例变量创建:

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);

其他提示

好,我通过使用 onFocus()EDITTEXT 之前 afterTextChanged 方法:

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);     
        }
}};

我为每个创建一个实例变量 EDITTEXT 盒子我需要观看/操纵。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top