基本的にはの機能が必要ですonWindowFocusChanged()
が、Fragment
. 残念ながら、onWindowFocusChanged()
リスナーは実際にはフラグメントに使用できないため、どうすればよいかわかりません。
これを行う方法はありますか?
基本的にはの機能が必要ですonWindowFocusChanged()
が、Fragment
. 残念ながら、onWindowFocusChanged()
リスナーは実際にはフラグメントに使用できないため、どうすればよいかわかりません。
これを行う方法はありますか?
View
フラグメントは、に戻る を介して「描画」されonCreateView()
ます。その中でイベントハンドラーを使用できます。通常、最初に表示されたときに実行する必要があるコマンドがある場合はView
、それを に割り当てて、メソッドを介してRunnable
にアタッチできます。View
post()
getView().post(new Runnable() {
@Override
public void run() {
// code you want to run when view is visible for the first time
}
}
)
onWindowFocusChanged(boolean hasFocus) メソッドはアクティビティで呼び出しますが、フラグメントが描画されると、メソッド onActivitycreated() で確認できます。この投稿を確認して ください https://stackoverflow.com/a/32819850/2732632
OnWindowFocusChanged は、ビューの描画に関する情報を提供しません (または表示されませんでした)。フラグメントにフォーカスを持つことができる各ビューに OnWindowFocusChanged を実装します。疑似コードで:
Fragment implements OnWindowFocusChanged{
onCreate(){
btn.OnWindowFocusChanged(this);
editTxt.OnWindowFocusChanged(this);
....
}
public void OnWindowFocusChanged(boolean hasFocus){
// your fragment has focus
}
}