Guten Tag,
Ich habe Folgendes Problen:
Ich arbeite an einem Zahlensystem-Konvertierer (für binär, dezimal, octal und hexadezimal). Der benutzer gibt in einem edittext-feld eine passende nummer ein und in den anderen 3 edittextfeldern erscheinen dann die gleichbedeutenden zahlen.
allerdings landet das programm in einer endloschleife, wenn ein durch ein onTextChanged ein edittext bearbeitet Wird.
Wie mache ich eine Art stopper um dem programm zu sagen das es nur konvertieren soll wenn der buntzer das edittext-feld bearbeitet hat?
[CODE lang="java" title="Onchange Codeblock"]DEC.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!isEmpty(DEC)) {
dezimal = DEC.getText().toString();
zwischen = cfrom("DEC", dezimal);
BIN.setText(cto(zwischen, "BIN"));
OCT.setText(cto(zwischen, "OCT"));
HEX.setText(cto(zwischen, "HEX"));
}
}
@Override
public void afterTextChanged(Editable s) {
}
});[/CODE]
(Der Code für Binär, Octal und hexadezimal sieht natürlich genauso aus)
Ich habe Folgendes Problen:
Ich arbeite an einem Zahlensystem-Konvertierer (für binär, dezimal, octal und hexadezimal). Der benutzer gibt in einem edittext-feld eine passende nummer ein und in den anderen 3 edittextfeldern erscheinen dann die gleichbedeutenden zahlen.
allerdings landet das programm in einer endloschleife, wenn ein durch ein onTextChanged ein edittext bearbeitet Wird.
Wie mache ich eine Art stopper um dem programm zu sagen das es nur konvertieren soll wenn der buntzer das edittext-feld bearbeitet hat?
[CODE lang="java" title="Onchange Codeblock"]DEC.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(!isEmpty(DEC)) {
dezimal = DEC.getText().toString();
zwischen = cfrom("DEC", dezimal);
BIN.setText(cto(zwischen, "BIN"));
OCT.setText(cto(zwischen, "OCT"));
HEX.setText(cto(zwischen, "HEX"));
}
}
@Override
public void afterTextChanged(Editable s) {
}
});[/CODE]
(Der Code für Binär, Octal und hexadezimal sieht natürlich genauso aus)