Fragment回调了onResume方法却并没有进去前台可见

来源:互联网 发布:淘宝账号如何注销 编辑:程序博客网 时间:2024/04/30 12:51

Fragment回调了onResume方法却并没有进去前台可见,所以不能仅仅依靠onResume判断是不是fragment是否可见

fragment有个方法专门判断fragment是否可见

/** * @return The current value of the user-visible hint on this fragment. * @see #setUserVisibleHint(boolean) */public boolean getUserVisibleHint() {    return mUserVisibleHint;}
因此onResume可以这么写

@Override    public void onResume() {        super.onResume();        Log.v(TAG, "onResume");        if (!getUserVisibleHint()) {            return;        }...    }

如果确定可当前fragment前台可见,那么可以手动调用onResume

@Overridepublic void setUserVisibleHint(boolean visible) {    super.setUserVisibleHint(visible);    Log.v(TAG, "setUserVisibleHint");    if (visible && isResumed()) {        //Only manually call onResume if fragment is already visible        //Otherwise allow natural fragment lifecycle to call onResume        onResume();    }}

0 0
原创粉丝点击