フラグメントが見えるようになったときの検出方法は、この質問を検索して多くの回答を得ました。可視になるとフラグメントを検出する真の答え
1。 setUserVisibleHint()
を使用してください:このメソッドは常に呼び出されるわけではなく、自動的に呼び出されることはありません。たとえば、このコードを作成しました
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setUserVisibleHint(false);
}
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
if (isResumed()){
if (isVisibleToUser){//fragment visible
load();
}else{
//content.listener.stop();
}
}
}
このメソッドは、viewPagerの最初の項目に対して呼び出されません。これは本当にうまくいかないことを意味します。
2。 onHiddenChanged()
を使用してください:この回答は本当でしたが、今は機能しません。このコードを断片的にチェックしました。しかし、これは時々呼び出されません。
@Override
public void onHiddenChanged(boolean hidden) {
super.onHiddenChanged(hidden);
Log.e(TAG , " "+hidden);
}
3。 setOnPageChangeListener
のようなviewPagerのページングのためのいくつかのアイデア:注意を払う、私はすべての時間の断片で本当の答えをしたい。だけではなくviewPagerまたは他のビュー
ため、私はANADこれらのリンクで回答を得ました...:
How to determine when Fragment becomes visible in ViewPager
Detect when fragment becomes visible [duplicate]
いずれかが真の答えで私を助けることができますか?
このタグを自動検出します。 :) – b4hr4m
うん。 。 。 。 。 。 。 。 。 – b4hr4m
ええ。それは本当だ 。しかし、私はそれがシステムのタグを変更しない方が良いと思う – b4hr4m