Uczę się, jak tworzyć elementy interfejsu użytkownika. Utworzyłem kilka pól wprowadzania EditText. Po kliknięciu przycisku chcę przechwycić treść wpisaną w tym polu wejściowym.
<EditText android:id="@+id/name" android:width="220px" />
To moja dziedzina. Jak mogę uzyskać treść?
android
android-edittext
Harsha MV
źródło
źródło
toString
nie daje najbardziej wykrywalnego API, jednak fantazyjna jest technika.Editable
obiektu, w którym użytkownicy oczekują i potrzebują tylkoString
99% razy.Odpowiedzi:
Za pomocą getText ():
źródło
Myślę, że będziesz musiał użyć tego kodu podczas wywoływania „mEdit” swojego obiektu EditText:
myActivity.this.mEdit.getText().toString()
Upewnij się tylko, że kompilator wie,
EditText
do którego numeru należy zadzwonić i z którego korzystać.źródło
Uzyskaj wartość z
EditText
kontroli w Androidzie.EditText
getText
użycie nieruchomości w celu uzyskania wartościEditText
:źródło
Mam nadzieję, że ten powinien działać:
Integer.getInteger()
Zamiast tego spróbowałem metodyvalueOf()
- nie działała.źródło
źródło
Możesz także rzucić okiem na Butter Knife . Ma on na celu zmniejszenie ilości kodu płyty wzorcowej za pomocą adnotacji. Oto prosty przykład:
Po prostu dodaj następującą zależność do
build.gradle
:Alternatywą są także AndroidAnnotations .
źródło
Najkrótszy i najprostszy
getText(editText);
getText(button);
getText(textView);
Małe obejście
Po prostu utwórz metodę w swoim BaseActivity / utwórz BaseActivity, jeśli nie masz.
I rozszerz wszystkie swoje działania o tę BaseActivity.
Należy zauważyć, że
EditText
,Button
rozciągaTextView
, więc stworzyłem tylkogetText(TextView tv)
.źródło
Bardziej zaawansowanym sposobem byłoby użycie bindview noża maślanego. Eliminuje to nadmiarowy kod.
W swojej klasie pod zależności; dodaj te 2 linie.
Następnie zsynchronizuj. Przykład edycji tekstu wiążącego w MainActivity
Ale jest to alternatywa, gdy poczujesz się bardziej komfortowo lub zaczniesz pracować z dużą ilością danych.
źródło
krok 1: utwórz układ o nazwie activity_main.xml
Krok 2: Utwórz klasę klasa główna
źródło
Wartość ciągu = YourEditText.getText (). ToString;
źródło
Wypróbuj ten kod
źródło
źródło