|
33 | 33 | * 1、新增控制是否为FragmentActivity的唯一Fragment 方法以优化懒加载方式
|
34 | 34 | * 2、增加解决StatusLayoutManager与SmartRefreshLayout冲突解决方案
|
35 | 35 | * 3、2018-7-6 17:12:16 删除IBasisFragment 控制是否单Fragment 通过另一种方式实现
|
| 36 | + * 4、2019-1-29 18:33:10 修改对用户可以见回调{@link #setUserVisibleHint(boolean)}{@link #onHiddenChanged(boolean)} (boolean)} |
36 | 37 | */
|
37 | 38 | public abstract class BasisFragment extends RxFragment implements IBasisView {
|
38 | 39 |
|
@@ -167,19 +168,42 @@ private boolean isVisibleToUser(BasisFragment fragment) {
|
167 | 168 | * 不在viewpager中Fragment懒加载
|
168 | 169 | */
|
169 | 170 | @Override
|
170 |
| - public void onHiddenChanged(boolean hidden) { |
| 171 | + public void onHiddenChanged(final boolean hidden) { |
171 | 172 | super.onHiddenChanged(hidden);
|
172 |
| - onVisibleChanged(!hidden); |
| 173 | + if (!mIsViewLoaded) { |
| 174 | + RxJavaManager.getInstance().setTimer(10) |
| 175 | + .compose(this.<Long>bindUntilEvent(FragmentEvent.DESTROY)) |
| 176 | + .subscribe(new FastObserver<Long>() { |
| 177 | + @Override |
| 178 | + public void _onNext(Long entity) { |
| 179 | + onHiddenChanged(hidden); |
| 180 | + } |
| 181 | + }); |
| 182 | + } else { |
| 183 | + onVisibleChanged(!hidden); |
| 184 | + } |
| 185 | + |
173 | 186 | }
|
174 | 187 |
|
175 | 188 | /**
|
176 | 189 | * 在viewpager中的Fragment懒加载
|
177 | 190 | */
|
178 | 191 | @Override
|
179 |
| - public void setUserVisibleHint(boolean isVisibleToUser) { |
| 192 | + public void setUserVisibleHint(final boolean isVisibleToUser) { |
180 | 193 | super.setUserVisibleHint(isVisibleToUser);
|
181 | 194 | mIsInViewPager = true;
|
182 |
| - onVisibleChanged(isVisibleToUser); |
| 195 | + if (!mIsViewLoaded) { |
| 196 | + RxJavaManager.getInstance().setTimer(10) |
| 197 | + .compose(this.<Long>bindUntilEvent(FragmentEvent.DESTROY)) |
| 198 | + .subscribe(new FastObserver<Long>() { |
| 199 | + @Override |
| 200 | + public void _onNext(Long entity) { |
| 201 | + setUserVisibleHint(isVisibleToUser); |
| 202 | + } |
| 203 | + }); |
| 204 | + } else { |
| 205 | + onVisibleChanged(isVisibleToUser); |
| 206 | + } |
183 | 207 | }
|
184 | 208 |
|
185 | 209 | /**
|
|
0 commit comments