同じアクティビティに複数のテキストウォッチャーを実装します
-
08-10-2019 - |
質問
実装します テキストウォッチャー の中に アクティビティ:
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 そして、他の2つの更新をその場で持っています。
私はそれを動作させることができるようです edittext 持っています addChangeListener
.
また、別々のものを実装できないようです 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 ボックス私は見る/操作する必要があります。
所属していません StackOverflow