| |||||||
Das Thema "Änderungen im EditText abfangen" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.
|
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| Neuer Benutzer Registriert seit: 02.09.2009
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
| 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 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 01.05.2009
Beiträge: 92
Abgegebene Danke: 2
Erhielt 11 Danke für 7 Beiträge
|
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> 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;
}
} Geändert von goto (18.09.2009 um 18:00 Uhr) |
| | |
| | #4 (permalink) |
| Neuer Benutzer Registriert seit: 26.09.2009
Beiträge: 3
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
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 (permalink) |
| Neuer Benutzer Registriert seit: 02.09.2009
Beiträge: 10
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
Die Lösung ist: public class UITest extends Activity implements TextWatcher { .... public void onTextChanged(CharSequence s, int start, int before, int count) { .. } } |
| | |
| | #7 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 16.09.2010
Beiträge: 51
Abgegebene Danke: 15
Erhielt 3 Danke für 1 Beitrag
|
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 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 16.09.2010
Beiträge: 51
Abgegebene Danke: 15
Erhielt 3 Danke für 1 Beitrag
|
So gehts, aber wo da jetzt der großer Unterschied sein soll ![]() ![]() 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 (permalink) |
| Android Guru Registriert seit: 09.05.2009
Beiträge: 2.389
Abgegebene Danke: 36
Erhielt 307 Danke für 289 Beiträge
|
ä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?
__________________ App Entwicklung Latest apps: Media Streamer BETA | DailyCash | MoneyManager ( PRO | HD ) |
| | |
| | #10 (permalink) |
| Android-Hilfe.de Mitglied Registriert seit: 27.03.2010
Beiträge: 192
Abgegebene Danke: 16
Erhielt 35 Danke für 27 Beiträge
|
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. |
| | |
![]() |
|
| Themen-Optionen | |
| Ansicht | |
| |
| ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Roms bzw. Änderungen fürs Samsung | herrgrins | Android OS Entwicklung / Customize | 10 | 24.03.2010 17:26 |
| Änderungen der Kontakte werden nicht übernommen | razorblade | HTC Hero / T-Mobile G2 Touch Forum | 5 | 20.08.2009 05:35 |
| KEYCODE_BACK in einer View abfangen | DocJunioR | Android App Entwicklung | 3 | 18.07.2009 19:30 |
| Programm beenden abfangen | joschika77 | Android App Entwicklung | 9 | 24.06.2009 17:50 |
| Rahmen für EditText xml | Tai | Android App Entwicklung | 0 | 09.06.2009 13:41 |