Definiuję tekst edycji, tak jak ...
<EditText
android:id="@+id/user"
android:layout_width="200px"
android:layout_height="wrap_content"
android:text="Username"
android:textSize="18sp"
android:gravity="center"
android:layout_x="64px"
android:layout_y="140px"
>
Chciałbym zastąpić przycisk "enter", którypojawi się na klawiaturze automatycznie, po naciśnięciu przycisku, który po prostu zamknie klawiaturę, gdy użytkownik ją uderzy. Widziałem to już w kilku aplikacjach (np. Nexus One na Twitterze) i chciałbym zaimplementować coś podobnego. Czy ktoś wie jak?
Czy jest możliwe, aby tekst, który pojawia się domyślnie, automatycznie czyścił, gdy użytkownik kliknął, aby edytować edittext? Dzięki,
Odpowiedzi:
11 dla odpowiedzi nr 1Proste rozwiązanie: dodaj android:singleLine="true"
dla EditText. Spowoduje to zastąpienie wprowadzania następną (dla wszystkich editekstów z wyjątkiem ostatniej) i Gotowe (dla ostatniej).
4 dla odpowiedzi nr 2
Wystarczy dodać XML EditText: android:imeOptions="actionDone"
2 dla odpowiedzi nr 3
O drugim pytaniu, które sprawi, że tekst będzie automatycznie kasowany, należy go dołączyć android:hint
zamiast android:text
.
2 dla odpowiedzi № 4
Oto zaktualizowana odpowiedź:
android:maxLines="1"
Przyjęta odpowiedź android:singleLine="true"
został przestarzały.
1 dla odpowiedzi nr 5
android:imeOptions="actionNext"
Zastępuje nazwę klawisza Enter za pomocą "Dalej" na wirtualnej klawiaturze i klikając na nią - fokus przeskakuje do następnego pola
W twoim układzie robisz takie rzeczy
<EditText
...
android:text="Field 1"
android:imeOptions="actionNext" />
<EditText
...
android:text="Field 2"
android:imeOptions="actionNext" />
I w Javie
TextView field2 = (TextView) field1.focusSearch(View.FOCUS_RIGHT);
field2.requestFocus();
Od Ciebie zależy, które pole poprosi o fokus.