首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当片段在ViewPager中可见时才显示请求权限对话框

仅当片段在ViewPager中可见时才显示请求权限对话框
EN

Stack Overflow用户
提问于 2018-03-22 00:46:30
回答 2查看 502关注 0票数 2

我有一个有3个选项卡的ViewPager,在每个选项卡中我可以有2-3个或4个子选项卡。

打开活动时,将加载所有选项卡(所有片段)。一些片段正在请求一些权限(可以是不同片段的相同权限)。

我的主要问题是,当打开此活动时,将显示所有请求权限弹出窗口。如果第一个可见片段不需要任何权限,则引发。有没有办法只在片段可见时才请求许可?或者唯一的解决方案是跟踪点击Tab和ViewPager OnPageChangeListener?

EN

回答 2

Stack Overflow用户

发布于 2018-03-22 00:55:05

覆盖所有片段中的方法(除第一个片段之外的) ...

代码语言:javascript
复制
   @Override
   setUserVisibilityHint(...) {
    super..  
      if(getActivity()!=null) {

         requestPermissions();
      }
   }

第一次在活动启动时,它不会请求权限,因为getActivity()对于所有其他fragments...from都是null,第二次onwards...it将请求权限..

备注 :-只要你在ViewPager中的页面上滑动,它就会请求许可。

票数 0
EN

Stack Overflow用户

发布于 2018-08-24 18:50:58

有一个参数visible。使用它来确定可见性。

代码语言:javascript
复制
override fun setUserVisibleHint(visible: Boolean) {
    super.setUserVisibleHint(visible)
    if (visible && activity != null) {
        checkPermissions()
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49412117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档