2017-05-08 4 views
0

Ich habe eine RecyclerView, die im Wesentlichen endlos ist, und es lädt Daten 10 Elemente gleichzeitig mit einem Cursor. Ich habe einen kreisförmigen Fortschrittsbalken, der unten angezeigt wird, wenn Gegenstände noch geladen werden. Wenn ich jedoch die Internetverbindung stoppe, dreht sich der Fortschrittsbalken für immer weiter. Wie würde ich eine Nachricht implementieren, die den kreisförmigen Fortschrittsbalken ersetzt, wenn keine Internetverbindung besteht?Android: Wie bekomme ich einen kreisförmigen Fortschrittsbalken mit einer Nachricht ersetzt, wenn keine Internetverbindung?

Ein gutes Beispiel für das, was ich versuche zu tun ist, was der Play Store verwendet, sowie reddit macht Spaß.

Progress bar while loading content (Fortschrittsbalken beim Laden des Inhalts)

"No internet connection" message to replace progress bar („Keine Internetverbindung“ -Meldung Fortschrittsbalken zu ersetzen)

Der Code, den ich für meine Fortschrittsbalken verwendet wird, ist sehr ähnlich wie die Art und Weise @ vilen implementiert es here

+0

Können Sie den Code zum Anzeigen des Fortschrittsbalkens anzeigen? Sie sollten dasselbe tun können, aber ein lineares Layout mit der Nachricht anzeigen. –

+0

Sehr ähnlich der Antwort hier http://stackoverflow.com/questions/30681905/Adding-items-to-endless-scroll-recyclerview-with-progressbar-at-bottom – rohan

Antwort

0

Sie können das ProgressBar-Layout mit einem anderen Layout, das sowohl die ProgressBar und ein LinearLayout mit dem Symbol, Nachricht und Wiederholungsschaltfläche hat. Zeigen Sie in onBindViewHolder nur Fortschrittsbalken an, wenn eine Internetverbindung besteht, andernfalls wird nur das LinearLayout angezeigt. Wenn Sie in Ihrer Aktivität eine Änderung der Internetverbindung feststellen, rufen Sie adapter.notifyItemChanged(adapter.getItemCount()-1) auf, um den letzten Eintrag zu aktualisieren.

Sie können this answer sehen, wie Verbindungsänderung erkannt wird.

+0

Vergessen Sie nicht zu upvote;) –

Verwandte Themen