Ich habe eine einfache app mit 2 edittext boxen. Wenn die Eingabe in die erste Box eingegeben wird, wird ein Satz von Berechnungen durchgeführt. Wenn die Eingabe stattdessen in die andere eingegeben wird, tritt eine andere Menge von Berechnungen auf.editbox lostfocus feuert auf die falsche edittext box
Also, wenn eine Zahl in die erste Box etBox1 eingegeben wird, und der Benutzer die Box verlässt, werden die Daten aus der ersten Box verwendet, um ein Ergebnis zu berechnen und in die zweite Box zu legen. Wenn eine Zahl in die zweite Box etBox2 eingegeben wird, wird mit den Daten ein Wert für die erste Box berechnet.
Ich habe versucht:
final EditText etBox1 = (EditText) findViewById(R.id.etBox1)
final EditText etBox2 = (EditText) findViewById(R.id.etBox2)
etBox1.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
@override
public void onFocusChange(View v, boolean lostfocus)
{
if (lostFocus == true)
{ //do my calculations....}
Diese wird ausgelöst, wenn der Fokus auf etBox1 gegeben, anstatt für die Box Fokus verlieren zu warten. Dies stürzt die App ab, weil der Benutzer keine Möglichkeit hatte, eine Zahl in die Box einzugeben. Irgendwelche Ideen, warum sich das als "hasFocus" anstatt als "lostFocus" verhält? Es gibt keine Dokumentation zu LostFocus auf der Android-Website.
werden Überprüfung auch möglich sein, kann es, dass das Lost-Focus-Brennen, wenn die etBox1 Gewinne konzentrieren, statt Losen konzentrieren. –
Ich überarbeitete die Methode wie folgt und es funktionierte: @Override öffentlichen void onFocusChange (View v, boolean hasFocus) {if (hasFocus == false) ... etwas tun –