1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. ECS, 18.09.2009 #1
    ECS

    ECS Threadstarter Neuer Benutzer

    Ich habe folgendes Problem:
    Ein ok-Button soll erst visible wenn im EditText ein Wert eingegeben wurde.
    Ich finde keinen richtigen Listener, für EditText der reagiert, wenn dort ein Wert geändert oder Key gedrückt wird.
    onKey() reagiert nur bei der "Entertaste"

    Was mache ich falsch ?
     
  2. goto, 18.09.2009 #2
    goto

    goto Android-Hilfe.de Mitglied

    Habe das ganze mal getestet, bei mir reagiert onKey() bei jeder Taste (auch bei dem Home und Zurück Button, benötigst also eventuell noch ne Fallunterscheidung)

    main.xml:
    Code:
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <EditText android:id="@+id/edittext"
        android:layout_width="fill_parent" 
        android:layout_height="wrap_content" 
        />
    <Button android:id="@+id/button"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:text="Ich bin ein Button"
        android:visibility="invisible"
        />
    </LinearLayout>
    Meine Activity subclass:
    Code:
    import android.os.Bundle;
    import android.widget.EditText;
    import android.widget.Button;
    import android.view.View;
    import android.view.KeyEvent;
    
    public class MainActivity extends Activity implements View.OnKeyListener
    {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        
            EditText edit = (EditText) findViewById(R.id.edittext);
            edit.setOnKeyListener(this);
        }
        public boolean onKey(View v, int keyCode, KeyEvent event)
        {
            Button button = (Button) findViewById(R.id.button);
            button.setVisibility(0);
            return false;
        }
    }
     
    Zuletzt bearbeitet: 18.09.2009
  3. ECS, 18.09.2009 #3
    ECS

    ECS Threadstarter Neuer Benutzer

    Bei mir geht es auf dem G2 Touch nicht.
    Es reagiert nur auf spezielle Tasten.
     
  4. HannesBauer, 26.09.2009 #4
    HannesBauer

    HannesBauer Neuer Benutzer

    Ich kämpfe gerade mit demselben Problem und habe noch keine Lösung gefunden. Vermutlich muss man die Events über das eingeblendete SoftKeyboard abfangen; sie werden nicht bis zum Druck von ENTER (oder z.B. Backspace) nicht an die EditText-Instanz weitergeleitet.
     
  5. ECS, 26.09.2009 #5
    ECS

    ECS Threadstarter Neuer Benutzer

    Die Lösung ist:

    public class UITest extends Activity implements TextWatcher
    {
    ....

    public void onTextChanged(CharSequence s, int start, int before, int count) {
    ..
    }
    }
     
  6. HannesBauer, 26.09.2009 #6
    HannesBauer

    HannesBauer Neuer Benutzer

    ..funktioniert bestens - vielen Dank!
     
  7. r4in, 27.01.2011 #7
    r4in

    r4in Android-Hilfe.de Mitglied

    Hi Leute,

    bei mir schmiert die App immer ab sobald ich das Edit auf Veränderung abfrage ab. Hat vielleicht jemand ne Idee? Sinn ist ein Button soll erst erscheinen sobald etwas ins Edit eingetragen wird.

    Code:
    final EditText Stand_scan = (EditText) findViewById(R.id.stand_scannen_edit);
    Stand_scan_var = Stand_scan.getText().toString();
            
    Stand_scan.addTextChangedListener(new TextWatcher() {
    
                public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                    throw new UnsupportedOperationException("Not supported yet.");
                }
    
                public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {
                    throw new UnsupportedOperationException("Not supported yet.");
                }
    
                public void afterTextChanged(Editable arg0) {
                    OK_Button.setVisibility(View.VISIBLE); // Hier fliegt mir die APP um die Ohren!
                    throw new UnsupportedOperationException("Not supported yet.");
                }
            });
    
    
    
     
  8. r4in, 27.01.2011 #8
    r4in

    r4in Android-Hilfe.de Mitglied

    So gehts, aber wo da jetzt der großer Unterschied sein soll :blink::blink:

    Code:
    
    final EditText Stand_scan = (EditText) findViewById(R.id.stand_scannen_edit);
            Stand_scan_var = Stand_scan.getText().toString();
    
            TextWatcher textWatcher = new TextWatcher() {
    
                public void onTextChanged(CharSequence s, int start, int before, int count) {
    
                    
    
                }
                public void afterTextChanged(Editable arg0) {
    
                    OK_Button.setVisibility(View.VISIBLE);
    
                }
                public void beforeTextChanged(CharSequence s, int start, int count, int after) {
    
                }
                };
    
    
            Stand_scan.addTextChangedListener(textWatcher);
    
    
    
     
  9. swordi, 27.01.2011 #9
    swordi

    swordi Gewerbliches Mitglied

    ähm ist das jetzt dein ernst?

    in variante 1 wirfst du in jeder textwatcher methode eine exception - ist ja klar, dass dann die app abschmiert, wenn du es so hinschreibst ;) oder check ich da was nicht?
     
  10. ts-apps, 27.01.2011 #10
    ts-apps

    ts-apps Erfahrener Benutzer

    Lool

    Wo hast das denn bitte gelernt?

    Mein Tipp: Erstmal die Java Grundlagen lernen bevor ihr euch an die App Entwicklung macht. Glaubt mir sobald ihr erst mal die Grundlagen beherrscht werdet ihr deutlich mehr Spaß an der App Entwicklung haben.
     
Die Seite wird geladen...

Benutzer fanden diese Seite durch die Suche nach:

  1. android edittext auf änderungen reagieren

    ,
  2. android studio edittext änderung

    ,
  3. android edittext button ok

Du betrachtest das Thema "Änderungen im EditText abfangen" im Forum "Android App Entwicklung",