我有一个有3个选项卡的ViewPager,在每个选项卡中我可以有2-3个或4个子选项卡。
打开活动时,将加载所有选项卡(所有片段)。一些片段正在请求一些权限(可以是不同片段的相同权限)。
我的主要问题是,当打开此活动时,将显示所有请求权限弹出窗口。如果第一个可见片段不需要任何权限,则引发。有没有办法只在片段可见时才请求许可?或者唯一的解决方案是跟踪点击Tab和ViewPager OnPageChangeListener?
发布于 2018-03-22 00:55:05
覆盖所有片段中的方法(除第一个片段之外的) ...
@Override
setUserVisibilityHint(...) {
super..
if(getActivity()!=null) {
requestPermissions();
}
}第一次在活动启动时,它不会请求权限,因为getActivity()对于所有其他fragments...from都是null,第二次onwards...it将请求权限..
备注 :-只要你在ViewPager中的页面上滑动,它就会请求许可。
发布于 2018-08-24 18:50:58
有一个参数visible。使用它来确定可见性。
override fun setUserVisibleHint(visible: Boolean) {
super.setUserVisibleHint(visible)
if (visible && activity != null) {
checkPermissions()
}
}https://stackoverflow.com/questions/49412117
复制相似问题