wie man die onWindowFocusChanged auf Fragment?
Ich bin mit Android-Schiebe-Menü mit Navigation Schublade.
Ich weiß, dass onWindowFocusChanged
Arbeit auf MainActivity.
Wie kann ich überprüfen, ist es hat_fokus auf Fragment?
jemand sagte, dass ich übergeben Sie die hasFocus
fragment, aber ich weiß nicht, wie Sie dies tun. Kann mir jemand ein paar Beispiel-code?
Möchte ich laufen ↓ diese auf meinem fragment
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
//I need to do someing.
method();
}
}
InformationsquelleAutor Ben Luk | 2015-05-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder eine Schnittstelle erstellen und alle Ihre Fragmente, die diese Schnittstelle implementieren, und in Ihren
onWindowFocusChanged
erhalten Sie die aktuelle fragment und pass rufen Sie die Methode von der Schnittstelle.Einer Probe interface für die Fragmente werden könnte:
Ihre Fragmente haben, um diese Schnittstelle zu implementieren:
Und in der
onWindowFocusChanged
Ihrer Aktivität können Sie dann tundie folgenden:
Werden, oder man erstellt einen listener und das aktive fragment Hinzugefügt wird, um den Zuhörer. Also, wenn das fragment sichtbar gemacht wird, Sie abonnieren diese Zuhörer, und jedesmal, wenn die
onWindowFocusChanged
Ereignis aufgerufen wird, rufen Sie diese listener.Dieser Ansatz ist sehr ähnlich zu der oben mit dem Unterschied, dass es eine Liste von
IOnFocusListenable
's und diejenigen, die ausgelöst werden, in die AktivitätenonWindowFocusChanged
MethodeInformationsquelleAutor mikepenz
Vom API 18 Sie können diesen code verwenden, direkt in Ihrem Fragment:
oder einfach mit lambda:
Wo kann man die Ansicht in onViewCreated oder rufen Sie einfach getView() von überall.
InformationsquelleAutor Tomas