viewpage+fragment的生命周期问题

最近想通过viewpager+fragment来实现类似于手机淘宝里面我的订单功能:

在这里面,我每次点击相关viewpager的导航时,实现如下功能:

1:显示一个progressDialog。

2:从网络上加载最新数据,加载完成后关闭progressDialog,显示数据或者先(显示没有相关数据)。

3:屏蔽预加载功能。

个人想法:每次fragement显示时加载数据,即:在fragment的onresume()中执行上述两个功能。因为在onresume()方法是在界面显示的时候调用的方法。然而理想很美好,现实很残酷啊!!!!

在viewpager+fragment的模型中,我们知道,当我们显示第一个界面的时候,会预加载第二个界面的信息,本以为,只是实现oncreateview方法,。。。但是,实际告诉我们,onresume()方法居然也执行了!!!!!!

那么我们如何才能判定当前界面已经显示了呢。

小白一个,通过百度,发现在fragment里面有setUserVisibleHint()这个方法,愉快的使用了。。

		@Override

    public void setUserVisibleHint(boolean isVisibleToUser) {

        if (this.isVisible()) {

            // we check that the fragment is becoming visible

            if (isVisibleToUser && !mHasLoadedOnce && mArrayList==null) {

                 

                                // async http request here

                mHasLoadedOnce = true;

            }

        }

        super.setUserVisibleHint(isVisibleToUser);

    }




ViewPage Fragment 是 Android 中的一个工具类,用于在一个 Activity 中显示多个 Fragment,并且可以通过滑动来切换不同的 Fragment。仿微信的话,可以使用 ViewPage Fragment 来实现类似微信的主界面,其中每个 Fragment 分别对应微信的不同功能模块。 首先,我们可以创建一个主界面的 Activity,该 Activity 包含一个 ViewPage,用于显示不同的 Fragment。然后,创建多个 Fragment,每个 Fragment 分别负责显示微信的不同功能模块,比如聊天列表、联系人列表、发现等。 在每个 Fragment 中,可以使用 RecyclerView 来展示列表数据,并根据不同的业务需求进行相应的逻辑处理。比如,在聊天列表中,可以显示每个聊天话的头像、昵称、最近一条消息等信息,并通过点击监听实现跳转到聊天界面的功能。 另外,可以为每个 Fragment 添加相应的菜单选项,仿微信的底部导航栏,用于在不同的 Fragment 之间进行切换。通过监听导航栏的点击事件,并配合 ViewPage 的滑动,可以实现类似微信的切换效果。 此外,可以通过 FragmentManager 来管理 Fragment生命周期,并实现 Fragment 之间的通信。比如,在聊天界面中发送一条消息后,可以通过调用 FragmentManager 的方法刷新聊天列表界面,并更新最近一条消息的显示。 总而言之,使用 ViewPage Fragment 可以很方便地实现一个仿微信的界面,通过不同的 Fragment 展示不同的功能模块,使用户可以在同一个 Activity 中进行多个功能的切换和操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值