,您仍然可以使用TextWatcher#onTextChanged
但添加hasFocus()檢查,讓你只修改其他場如果此領域具有焦點(由使用者更新)。
mDollarsText.addTextChangedListener(new TextWatcher() {
...
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (mDollarsText.hasFocus()) {
// show amount in yen
if (s == null || s.length() == 0) {
mYenText.setText("0");
} else {
mYenText.setText(convertDollarsToYen(mDollarsText.getText().toString());
}
}
}
...
});
mYenText.addTextChangedListener(new TextWatcher() {
...
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (mYenText.hasFocus()) {
// show amount in dollars
if (s == null || s.length() == 0) {
mDollarsText.setText("0");
} else {
mDollarsText.setText(convertYenToDollars(mYenText.getText().toString());
}
}
}
...
});
我在這裏假設您已經有一個方便的方法來轉換美元< - >日元。