Jungs Ich entwickle Android TV App, so dass ich Recyclerview horizontal und vertikal verwendet, und ich habe eine Methode verwendet, Adapter von vertikalen Recyclerview mit Adapter.notifyDataSetChanged() zu aktualisieren, aber ich bekomme ein Problem. 1. Es ist Fokus weg und auf drücken Sie keine D-Pad-Taste funktioniert nicht nur richtige Taste funktioniert 2. Ich habe adapter.notifyItemRangeChanged (0, categoryDataList.size()), aber ich habe immer noch ein Problem, das es ist Der Schwerpunkt liegt auf dem ersten Element des Layouts, ansonsten auf dem Layout. Also Bitte helfen Sie mir so schnell wie möglich. Vielen Dank im Voraus.Fokus verloren auf der Aktualisierung in Recyclerview
Antwort
Verwendung notifyItemRangeInserted (Position, Größe); Wenn Sie Elemente einfügen.
Ich habe horizontale und vertikale Recyclerview und bekommen Antwort vom Server und wir haben keine Ahnung, dass Element hinzufügen oder entfernen, so dass ich mit notifyItemRangeChanged bin, aber mein Fokus geht oben – ajay
Natürlich verlieren Sie den Fokus! Es gibt keine Ansicht, um den Fokus zu erhalten, wenn Sie RecyclerView von Call-Methode aktualisieren notify * Geändert.
Ich habe eine unvollkommene Möglichkeit, Fokus in Recyclerview zu halten, wenn Sie notifyDatasetChanged()
anrufen.
- Overrite Methode GetItemID(), um eine stabile ID jedes Element geben:
@Override
public long getItemId(int position) {
return position;
} - Set hat StableId:
adapter.setHasStableIds(true);
- Jetzt im Grunde können Sie Fokus in einem konkreten Punkt, wenn der Anruf notifyDatasetChange halten, wenn nicht Animator, diable:
mRecyclerView.setItemAnimator(null);
über stabile i d: Android: How to make an adapter with stable ids?
über disable Animator: How to implement ItemAnimator of RecyclerView to disable the animation of notifyItemChanged
über den Grund von step3 in Google Code:
https://code.google.com/p/android/issues/detail?id=204277
Viel Glück!
- 1. EditText in ListView verloren Fokus
- 2. ComboBoxCellEditor nur Einstellungswert auf Fokus verloren
- 3. wpf listview verloren den Fokus
- 4. Shift recyclerview Fokus auf das letzte Element in der Liste
- 5. RecyclerView Fokus Scrollen
- 6. Updating Modell nach dem Fokus auf Eingabesteuerung verloren
- 7. Keychain Daten verloren nach Aktualisierung der App auf iOS
- 8. RecyclerView Artikel verlieren Fokus
- 9. Angular Textfeld Fokus verloren Ereignis
- 10. ausblenden ul wenn Fokus verloren in JQuery
- 11. RecyclerView Probleme: EditText verliert Fokus
- 12. Benutzerdefinierte Node.ForeColor wird zurückgesetzt, wenn Fokus verloren
- 13. Verschachtelte RecyclerView nicht bekommen Fokus
- 14. NSTextField nicht verloren Fokus auf NSWindow bemerkt Nähe
- 15. JFrame-Titel ändert sich nicht, bis der Fokus verloren ist
- 16. EditText verliert den Fokus auf Scroll in RecyclerView
- 17. jquery Änderung Ereignis verloren Fokus auf ID, ID
- 18. Update-String-Format von TextBox auf den Fokus verloren
- 19. Accelerator-Befehle funktionieren nicht, wenn der Fokus verloren
- 20. Taste wird nicht Fokus in Recyclerview Artikel
- 21. Formwert in der Steuerung nicht festgelegt, bis Seite Fokus Aktualisierung
- 22. C# erkennen Anwendung konzentriert verloren Fokus
- 23. MySQL verloren Verbindung während der Aktualisierung von großen Tabellen
- 24. iOS App gespeichert Daten verloren nach der Aktualisierung
- 25. MeteorJS.Auf der Aktualisierung einer Seite gehen die Suchergebnisse verloren
- 26. Implementierung Swipe-Aktualisierung für RecyclerView in Android
- 27. Wie wird ein Fokus auf ein Textfeld zurückgesetzt, wenn der Fokus auf einem HTML-Formular verloren geht?
- 28. mahapp Verloren Fenster Stil nach Aktualisierung auf die neueste Version
- 29. Recyclerview Aktualisierung der Daten am Ende der vorherigen Daten
- 30. RecyclerView innerhalb PagerAdapter nicht zufrieden Aktualisierung
Können Sie Ihren Code als Referenz – EKN
onCreate (Bundle savedInstanceState) { . . adapter = neuer DemoVerticalRecyclerAdapter (this, categoriesVideoList, categoryDataList, mainMenuDataList); \t \t verticalListView.setAdapter (Adapter); . . } – ajay
private void refreshedData() { \t \t runnable = new Runnable() { \t \t \t @Override \t \t \t public void run() { \t \t \t \t Log.e (TAG „, aktualisiert Daten starrt ....... "); \t \t \t \t // isRefreshedData = true; \t \t \t \t neu MyAsycTas(). Execute(); \t \t \t \t Handler.removeCallbacks (runnable); \t \t \t \t focusedElement(); // \t \t \t \t select(); \t \t \t \t handler.postDelayed (ausführbar, 9000); \t \t \t} \t \t}; \t \t // handler.postDelayed (runnable, \t \t // Integer.valueOf (MyStaticClass.refreshTime) * 60000); \t \t handler.postDelayed (ausführbar, 9000); } \t – ajay