Ich habe eine FragmentActivity, einige Fragmente und einen Dienst, der im Hintergrund ausgeführt wird. Es ist möglich, vom Dienst zu überprüfen, ob ein bestimmtes Fragment sichtbar ist?Android: Überprüfen, ob ein Fragment sichtbar ist
Antwort
Überprüfen Sie den Code unten:
public class MyFragment extends Fragment
@Override
public void setMenuVisibility(final boolean visible) {
super.setMenuVisibility(visible);
if (visible) {
...
}
}
Es ist von this thread. Oder Sie können auch this one überprüfen.
public boolean isFragmentUIActive() {
return isAdded() && !isDetached() && !isRemoving();
}
Macht den Trick.
Das gibt false zurück, wenn ich es aus dem Dienst rufe, aber vielleicht mache ich etwas falsch. – user2538848
Check if(YourFragment.this.isVisible())
Wie in einer Aktionsleiste mit Registerkarten? Die Navigation ist in diesem Fragmentschema gestört. – Skynet
Wie navigiert die Navigation? Was willst du erreichen? –
Ich habe eine Aktionsleiste Tabbed-Aktivität, Fragmente bestehen aus Tabs, ich habe eine Schaltfläche in der Aktionsleiste, die einmal gedrückt, navigiert zu einem anderen Fragment sagen "Info über die App". Sobald der Benutzer zu den Informationen navigiert, deaktiviere ich ihn, so dass er nicht mehr redundant aufgerufen wird, dann aktiviere ich ihn erneut, wenn er gedrückt wird, aber sag, wenn der Benutzer zur Info navigiert (die Information wird deaktiviert, bis die Rücktaste gedrückt wird), aber ich möchte Aktivieren Sie es erneut, wenn nicht gedrückt, sondern zwischen den Registerkarten navigiert wird. – Skynet
- 1. Wie kann man erkennen, ob ein Fragment sichtbar ist?
- 2. Überprüfen, ob Fragment existiert
- 3. Überprüfen, ob ein Element wirklich für den Benutzer sichtbar ist
- 4. Überprüfen Sie, ob mindestens ein Element sichtbar ist
- 5. Überprüfen, ob ein Div im Viewport mit jQuery sichtbar ist
- 6. überprüfen, ob Klasse Fragment oder Aktivität ist
- 7. Überprüfen Sie, ob ein iframe Bildlaufleisten sichtbar hat?
- 8. Überprüfen, ob ein Dateiname gültig ist
- 9. Nur Benachrichtigung, wenn Fragment sichtbar ist
- 10. Überprüfen Sie, ob UIView in UIScrollView sichtbar ist
- 11. Überprüfen Sie, ob TabBar in iOS-App sichtbar ist
- 12. Überprüfen, ob der Marker sichtbar ist (map) - mapbox
- 13. Depli TEmbeddedWB überprüfen, ob das Element sichtbar ist
- 14. Aktivität ActionBar ist in Fragment nicht sichtbar
- 15. Überprüfen, ob das JSP-Fragment gesetzt wurde
- 16. Überprüfen, ob ein Char ein Zeilenumbruch ist
- 17. Ersetzte Fragment noch sichtbar
- 18. Überprüfen, ob Android-Dateisystem verschlüsselt ist
- 19. Android überprüfen, ob Bluetooth verbunden ist
- 20. Testen, ob ein Element mit XCode 7 sichtbar ist UITest
- 21. Android M erkennt, ob der Berechtigungsdialog sichtbar ist
- 22. Überprüfen, ob ein bestimmter Datenattributwert vorhanden ist
- 23. überprüfen, ob eine Datei ein Bild ist
- 24. Überprüfen, ob ein Commit vorhanden ist
- 25. Überprüfen Sie, ob url ist ein Bild
- 26. Überprüfen, ob ein bestimmter Gerätetreiber geladen ist
- 27. Überprüfen, ob ein Typ eine Karte ist
- 28. Überprüfen Sie, ob ein Benutzer root ist
- 29. Überprüfen, ob DocumentFragment ein normaler Knoten ist
- 30. Überprüfen, ob ein Eingabefeld leer ist
Es ist nicht wirklich ein doppelt vorhanden ist, weil die andere Frage im Rahmen eines ViewPager gefragt wird, und die Antworten, den Kontext reflektieren. Dies ist eine allgemeinere Frage. – awy
Dies ist kein Duplikat. –
Die Lösung, die am besten für mich funktionierte, war http://stackoverflow.com/a/6751537/1816603 –