noe*_*oev 6 android fragment android-support-library
我一直在片段的setUserVisibleHint()方法中做一些逻辑.我一直在检查是否isVisibleToUser为真,然后用于getActivity返回活动.这很好(100%的时间),直到我将支持库更新到最新的(support:appcompat-v7:24.2.0).现在getActivity总是返回null.解释此行为的支持库是否有一些更改?
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(false);
if (isVisibleToUser) {
getActivity() <- null
}
Run Code Online (Sandbox Code Playgroud)
据 Google 称:“在 Android N 之前,存在一个平台错误,可能会导致 setUserVisibleHint 在提交 FragmentTransaction 之前将片段置于启动状态。由于某些应用程序依赖此行为,因此为声明targetSdkVersion 为 23 或更低。”
因此,有两种选择: 1. 使用 targetSdkVersion < 24 进行重建;2. 根据新情况修改应用程序 => 使用此回调之外的上下文,分别在 onAttach 方法中或稍后在片段生命周期中;
| 归档时间: |
|
| 查看次数: |
3011 次 |
| 最近记录: |