2017-08-15 1 views
0

Nachdem ein Kontrollkästchen aktiviert ist, erstelle ich eine EditText Ansicht und speichere den markierten Wert.edittext Wert nach Dateneingabe speichern

if (checked){ 
     //add to array 
     checkIn.add(boxName); 
     mLayout.addView(createNewEditText(boxNumber),count+1); 
     //set focus and open keyboard 
     EditText editText = (EditText) findViewById(100+ Integer.parseInt(boxNumber)); 
     editText.requestFocus(); 
    }else { 
     //remove from array 
     checkIn.remove(boxName); 
     int intTextId = Integer.parseInt(boxNumber); 
     mLayout.removeView(findViewById(100+intTextId)); 
    } 

Als nächstes kann der Benutzer Daten in den EditText eingeben. Ich möchte den Wert speichern, nachdem Daten eingegeben wurden.

Ich habe die Google gesucht und habe nichts gefunden.

Irgendwelche Ideen

+1

Sie es Sie dynamisch erstellen einen Text bearbeiten, oder, wenn ein Kontrollkästchen aktiviert ist? Wie viele Texte werden gleichzeitig angezeigt? scheint eine bessere Idee zu sein, den Bearbeitungstext onCreate einfach auszublenden und dann anzuzeigen, wenn das Kontrollkästchen aktiviert ist. – DroiDev

+0

gibt es eine Schaltfläche zum Speichern oder Sie möchten die Daten speichern, nachdem der Benutzer für einen definierten Zeitraum pausiert hat –

+0

Ich erstelle dynamisch den Text bearbeiten. Die Liste kann 30 + Kontrollkästchen sein. Bei jedem aktivierten Kontrollkästchen wird ein Bearbeitungstext hinzugefügt. Entfernt, wenn deaktiviert. –

Antwort

0

Sie TextChangedListener verwenden können:

editText.addTextChangedListener(new TextWatcher() { 

     public void afterTextChanged(Editable s) 
     { 
     //do something with your text 
     } 

     public void beforeTextChanged(CharSequence s, int start, int count, int after) {} 

     public void onTextChanged(CharSequence s, int start, int before, int count) {} 
    }); 
} 
+0

Wann wird afterTextChanged und onTextChanged ausgelöst? –

+0

[Überprüfen Sie diese Antwort] (https://stackoverflow.com/a/26994592/6241160) – Rysiu