当 ViewPager 中的片段出现和消失时如何执行一些代码

     2023-02-26     302

关键词:

【中文标题】当 ViewPager 中的片段出现和消失时如何执行一些代码【英文标题】:How to do some code when fragments in a ViewPager appear and disappear 【发布时间】:2019-05-20 08:06:22 【问题描述】:

在我的 android 应用程序中,我使用带有 Fragments 的 ViewPager,并且我想在 Fragment 出现(当用户可以看到它时)和 Fragment 消失时(当用户停止看到 Fragment 时)运行一些代码

我试图覆盖 onPause(), onResume() 但是没有出现在 UI 中的 Fragments 无论如何都会运行这些方法(我认为这些方法在创建 Fragment 时运行。)

@Override
public void onPause() 
    Log.i(TAG, "====onPause - " + phrase.getPhrase());
    super.onPause();


@Override
public void onResume() 
    Log.i(TAG, "====onResume - " + phrase.getPhrase());
    super.onResume();

我只想在片段在 UI 中出现和消失时运行一些代码。 但在我的情况下,每个新页面都会创建这个:

====onPause - 我要你送汤姆去学校。 ====onResume - 我可以和你谈谈吗,汤姆? ====onPause - 我知道汤姆想和你谈谈。 ====onPause - 我可以和你谈谈吗? ====onPause - 我可以和你谈谈吗,汤姆? ====onResume - 我知道汤姆想和你谈谈。 ====onResume - 我可以和你谈谈吗? ====onResume - 我可以和你谈谈吗,汤姆?

【问题讨论】:

你可以使用viewpager适配器的OnPageChangeListener 【参考方案1】:

您可以使用以下方法:-

override fun setUserVisibleHint(isVisibleToUser: Boolean) 
    super.setUserVisibleHint(isVisibleToUser)
    if(isVisibleToUser)
     // do something
      


【讨论】:

【参考方案2】:

我这样解决了我的问题:

  @Override
    public void setUserVisibleHint(boolean isVisibleToUser) 

        if(phrase != null)
            if(isVisibleToUser)
                Log.i(TAG, "setUserVisibleHint" + phrase.getPhrase()+ "|isVisibleToUser " + isVisibleToUser);
            else 
                Log.i(TAG, "setUserVisibleHint" + phrase.getPhrase()+ "|isVisibleToUser " + isVisibleToUser);
            
        

【讨论】:

如何设置表格视图高度。当搜索栏出现和消失时

】如何设置表格视图高度。当搜索栏出现和消失时【英文标题】:Howtosetthetableviewheight.whensearchbarisappearanddisappear【发布时间】:2016-05-0315:58:32【问题描述】:我有一个表格视图,我正在显示来自api的一些数据。我已经添加了一个... 查看详情

Coordinatorlayout 中的 VIewpager 在可见性消失时占用了额外的空间

】Coordinatorlayout中的VIewpager在可见性消失时占用了额外的空间【英文标题】:VIewpagerinsideCoordinatorlayouttakesextraspaceonvisibilitygone【发布时间】:2021-04-0416:43:24【问题描述】:我有一个布局,我需要工具栏的上部和一些内容,然后是V... 查看详情

tableview 中的两个 TextFields,都在滚动视图上,当键盘出现 iPhone 时消失

】tableview中的两个TextFields,都在滚动视图上,当键盘出现iPhone时消失【英文标题】:TwoTextFieldsintableview,allonscrollview,disappearwhenkeyboardcomesupiPhone【发布时间】:2012-08-0817:49:54【问题描述】:在我的登录视图中,我在包含两个单元... 查看详情

切换页面后标签内容消失

...age【发布时间】:2015-01-2409:49:03【问题描述】:我在包含ViewPager的片段中的选项卡(TabHost或TabContent)有一个奇怪的问题。问题是,当我更改页面时,然后我转回带有tab和viewPager的片段,我的内容或视图消失了。->这是我的TabFr... 查看详情

echarts中当出现散点图和线图和地图结合时如何去实现散点消失线跟着消失

参考技术AechartsX轴数据太多间隔显示,tooltip让全部显示的方法:1、不要使用默认的tooltip了,可以对应写一个label记录值,2、然后控制它的display:block/none可以试一下,3、用一个公有的静态变量存储着这个值,4、然后触发不显... 查看详情

如何修复 ViewPager2 中的“违反设计假设”错误?

】如何修复ViewPager2中的“违反设计假设”错误?【英文标题】:Howtofix\'Designassumptionviolated\'errorinViewPager2?【发布时间】:2019-11-2219:51:00【问题描述】:我正在使用ViewPager2、Kotlin和AndroidX。当适配器不在索引0并且我更改适配器列... 查看详情

当我返回片段时,ViewPager 为空白

】当我返回片段时,ViewPager为空白【英文标题】:ViewPagerinblankwhenIreturnbacktothefragment【发布时间】:2013-08-0812:02:46【问题描述】:我有一个片段AroundMeFragment,它有一个带有两个片段MapFragment和ListFragment的视图寻呼机。当我第一次... 查看详情

使用导航组件来回导航时,ViewPager 的内容消失

】使用导航组件来回导航时,ViewPager的内容消失【英文标题】:ContentofViewPagerdisappearswhennavigatingbackandforthusingNavigationComponents【发布时间】:2019-09-0800:25:25【问题描述】:将导航迁移到新的Jetpack导航组件后,我发现在使用库来回... 查看详情

SwipeRefreshLayout 干扰 ViewPager 中的 ScrollView

】SwipeRefreshLayout干扰ViewPager中的ScrollView【英文标题】:SwipeRefreshLayoutinterfereswithScrollViewinaViewPager【发布时间】:2015-09-2211:12:44【问题描述】:我在ViewPager周围有一个SwipeRefreshLayout。ViewPager加载的片段包含ScrollViews。当我向下滚动... 查看详情

如何解决片段中的 Viewpager 问题?

】如何解决片段中的Viewpager问题?【英文标题】:HowtosolveissueofViewpagerinafragment?【发布时间】:2021-05-0811:01:53【问题描述】:这是我的应用程序的图像enterimagedescriptionhere我卡在正确的标签位置加载片段。每当我运行我的应用程序... 查看详情

当鼠标移入echarts出现抖动并滚动条迅速出现消失(代码片段)

Bug效果:当鼠标初次移入Echars,下方出现滚动条并且迅速消失原因:当时设置了tooltip时,鼠标移入会触发悬浮事件,并且会有一个默认的0.4秒过渡时间值当我们把值设置为0时,紧跟着鼠标移动就会解决抖... 查看详情

当鼠标移入echarts出现抖动并滚动条迅速出现消失(代码片段)

Bug效果:当鼠标初次移入Echars,下方出现滚动条并且迅速消失原因:当时设置了tooltip时,鼠标移入会触发悬浮事件,并且会有一个默认的0.4秒过渡时间值当我们把值设置为0时,紧跟着鼠标移动就会解决抖... 查看详情

动画消失时不起作用,但出现时起作用

】动画消失时不起作用,但出现时起作用【英文标题】:Animationnotworkingwhendisappearing,butworkswhenappearing【发布时间】:2020-10-0418:29:11【问题描述】:我正在尝试使按钮出现和消失(动画)。出现时,它会动起来。但是当按钮应该消... 查看详情

使用 Prototype 使元素出现/消失

...:2020-07-2917:40:16【问题描述】:当点击div时,我需要使div中的make元素出现和消失。然后加载网页时,它应该只是说“单击此处”。单击后,在原始文本下方应出现“再次单击此处”的新文本。再次单击后,新文本出现在“再次... 查看详情

滑动 ViewPager 时如何清除片段相关状态

】滑动ViewPager时如何清除片段相关状态【英文标题】:Howtoclearfragment-relatedstatuswhenswipingViewPager【发布时间】:2012-11-1609:15:19【问题描述】:在我的android应用程序中,我使用ViewPager和ActionBar来布局主要活动。这PagerAdapter是FragmentSt... 查看详情

androidfragment+viewpager的懒加载实现(代码片段)

...、页面刷新和资源释放等逻辑操作。但是当Fragment遇上了ViewPager,事情就变得有点不一样了。Fragment的生命周期变得不再那么可控,当显示FragmentA时,相邻的FragmentB的一些生命周期方法也会触发。这是因为ViewPager为了... 查看详情

触摸时图像,手指抬起时消失?

...ted?【发布时间】:2014-06-0614:09:01【问题描述】:我对xcode中的触摸或点击有疑问。我想知道是否有人可以帮助我弄清楚如何使图像在用户点击屏幕时出现,并在他们抬起手指时消失。例如,当他们按住手指时,其下方可能会出现... 查看详情

从 ViewPager 中检索片段

】从ViewPager中检索片段【英文标题】:RetrieveaFragmentfromaViewPager【发布时间】:2012-02-0519:10:35【问题描述】:我使用ViewPager和FragmentStatePagerAdapter来托管三个不同的片段:[片段1][片段2][片段3]当我想从FragmentActivity中的ViewPager获取Fra... 查看详情