Mam Listview
z EditTexts
w każdej komórce. Ilekroć dodaję tekst do punktu, w którym EditText
rośnie 1 linia, ListView
przewija się do góry (i zazwyczaj usuwa EditText
z widoku).ListView Przewiń do góry, gdy EditText Rośnie
Znalazłem kilka pytań na ten temat, ale wydają się one mieć tylko "hacki" jako odpowiedzi i nic, co działa dla mnie.
ListView scrolls to top when typing in multi-line EditText
Listview with edittext - auto scroll on "next"
EDIT: Po wielu badań, odkryłem, że to dlatego, że EditText jest zmiana rozmiaru, powodując układ ListView jego subviews a następnie zresetowanie do góry. Chcę znaleźć sposób, aby EditText mógł się rozwijać, pozostając w tym samym miejscu.
Próbowałem tego powodu sugestii znalazłem w Internecie, ale mimo to utrzymuje ListView
na odpowiedniej wysokości, to kasuje ostrość od EditText
i nie wydaje się uzyskać go z powrotem requestFocus
.
private Stirng getTextWatcher(){
return new TextWatcher(){
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override public void onTextChanged(CharSequence s, int start, int before, int count) { }
@Override public void afterTextChanged(Editable s) {
listView.setSelection(index);
}
}
}
Więc jakie byłyby potrzebne jest:
mają sposób dla
ListView
aby nie przejść automatycznie do góry, gdy subviews są rozplanowane ponownie lubsposób na skupienie się napo wywołaniu
ListView.setSelected()
lub 3. Mam inny sposób przewijaniaListView
, który nie usunie fokusu zEditText
.
Dla opcji
- Próbowałem
scrollTo()
ismoothScrollToPosition()
.scrollTo
z jakiegoś powodu działa, ale ukrywa pewne elementy odListView
(stają się niewidoczne, niezaładowane). IsmoothScrollToPosition()
tworzy animację, w którejListView
przeskakuje na górę, a następnie przenosi użytkownika z powrotem do Przedmiotu (i robi to 2 lub 3 razy).
można pisać kod? Dlaczego te odpowiedzi nie działają dla Ciebie? – legendof
@legendof opublikować mój kod na co? widok listy? Wydaje mi się to dość standardowe. Nic specjalnego. Nie robię nic w tym java oprócz wypełnienia go, tylko w XML. Chodziło mi o to, że wszystkie są hackami i chcę czegoś eleganckiego i wydajnego ... nie tak jak "przewijaj listę za każdym razem, gdy dodawana jest litera" – NickProvost
Czy możesz pokazać nam układ XML? Kod listy, podobnie jak jej rodzice. Czy to jest przypadkiem w ScrollView? –