Mam pięć edycji tekstu w mojej aplikacji. Mam też dwa przyciski o nazwach "Następny" i "Poprzedni". Teraz chcę wybrać kolejne i poprzednie pola edycji, gdy kliknę odpowiednie przyciski z mojego widoku dynamicznie. Czy jest jakikolwiek sposób to zrobić?Jak wybrać następny i poprzedni Edytuj teksty w widoku
Odpowiedz
btnNext.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int id = getCurrentFocus().getNextFocusDownId();
if(id != View.NO_ID) {
findViewById(id).requestFocus();
System.out.println("Next");
}
}
});
btnBack.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
int id = getCurrentFocus().getNextFocusUpId();
if(id != View.NO_ID) {
findViewById(id).requestFocus();
System.out.println("Back");
}
}
});
Jest to XML, gdzie trzeba ustawić ostrość zamówienie:
<EditText
android:id="@+id/et1"
android:nextFocusDown="@+id/et2"
android:nextFocusUp="@+id/et2"
....../>
<EditText
android:id="@+id/et2"
android:nextFocusDown="@+id/et1"
android:nextFocusUp="@+id/et1"
...../>
Edit
Jeśli tworzysz widok dynamiczny należy użyć poniższych metod, aby ustawić kolejny Fokus
setNextFocusDownId(id)
setNextFocusUpId(id);
Mogę użyć tego w kodzie XLM, ale tworzę tekst edycji w czasie wykonywania, więc nie mogę tego zrobić. Jakieś sugestie. – Sniper
Zaktualizowałem moją odpowiedź – Dharmendra
Dzięki to działa. – Sniper
użycie Marka
android:nextFocusLeft
android:nextFocusRight
android:nextFocusUp
android:nextFocusDown
w atrybuty EditText w swojej layout.xml.
np. android:nextFocusDown="@id/myNextEditText"
Aby uzyskać więcej informacji o tym, jak z niego korzystać należy postępować this link.
myślę, że to może pomóc,
http://kahdev.wordpress.com/2008/06/29/changing-button-text-in-android/
Try -
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_next :
if(editText1.hasFocus()){
editText2.requestFocus();
}else if(editText2.hasFocus()){
editText3.requestFocus();
}
break;
case R.id.btn_previous :
if(editText2.hasFocus()){
editText1.requestFocus();
}else if(editText3.hasFocus()){
editText2.requestFocus();
}
break;
}
}
Niewłaściwa składnia (editText1! .hasFocus()) powinna być (! EditText1.hasFocus()). To nie pomoże. zgodnie z twoją logiką skupi się tylko na edittext1 i edittext2 – Dharmendra
Dzięki, że mnie powiadomiłeś. To był absolutnie literówka (i wklej kopiuj). W rzeczywistości jest to błąd składniowy. Edytowane. – Rajkiran
- 1. Jp pager z numerami i następny, poprzedni
- 2. Szyny: pobierz następny/poprzedni rekord
- 3. Jak uzyskać poprzedni i następny miesiąc w kalendarzu
- 4. Railsy: "Następny post" i "Poprzedni post" w moim widoku pokazu, jak?
- 5. Zdobądź następny/poprzedni element w ObjectListView
- 6. Usuń przycisk "poprzedni", "następny" i "zrobione" w formularzu HTML
- 7. Jak wybrać następny pasujący element?
- 8. Jak obliczyć następny, poprzedni dzień roboczy w Rails?
- 9. Poprzedni i Następny przycisk z licznikiem nakładki przy użyciu jQuery
- 10. Karuzela jQuery. Jak wyświetlić tylko następny lub poprzedni element Tylko
- 11. Jak usunąć poprzedni następny przycisk z wirtualnej klawiatury IOS
- 12. Czy mogę wybrać puste teksty z CSS?
- 13. MySQL - wybierz jeden wiersz - następnie jeden następny i jeden poprzedni względny do wybranego
- 14. Jak znaleźć poprzedni i następny rekord za pomocą pojedynczego zapytania w MySQL?
- 15. Implementacja przycisków Poprzedni/Następny tekst w widoku UITableView w celu uczynienia pierwszego respondenta UITextField w niewidocznej komórce
- 16. Selen IDE: Jak wybrać następny wolny termin od datepicker
- 17. Pobierz poprzedni i następny wiersz z wierszy wybranych z (gdzie) warunkach
- 18. Czy istnieje sposób, aby KNP paginator pokaz tylko pokazać następny i poprzedni przyciski
- 19. Używając polecenia `dzień spełnienia wymogu, aby poprzedni, bieżący i następny miesiąc
- 20. Różne teksty w przycisku
- 21. Pokaż/Ukryj Sprites i teksty w Phaser
- 22. TransitionFromView usuwa poprzedni widok
- 23. Jak uzyskać poprzedni element?
- 24. Jak wybrać kod do umieszczenia w widoku a ViewController?
- 25. Jak wybrać repozytorium dla widoku przemieszczania w Eclipse Luna 4.4?
- 26. vim edytuj wiele lokalizacji jednocześnie
- 27. SharedResourceDictionary: edytuj zasób w mieszance
- 28. Jak wybrać 1 jako bit w widoku sql-server?
- 29. Python Edytuj nagłówki CSV
- 30. Korzystanie teksty stałe w ctypes.Structure
Nie możesz używać ** requestFocus() * * – ngesh
Czy chcesz zmienić ostrość z jednego EditText na następny/poprzedni po dotknięciu odpowiedniego przycisku? –
@ sandy- Dzięki za sugestię. Powyższe jest moją przykładową aplikacją, aw moim prawdziwym projekcie znajduje się prawie 50 pól tekstowych, dzięki czemu skupienie się na żądaniu dla każdego pola jest tak złożone. Czy istnieje prosty sposób na zrobienie tego. – Sniper