`
学不止
  • 浏览: 238549 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

viewpager点击页签(label)为空解决方案

阅读更多

刚刚项目中使用viewpager。由于该控件出现的初衷应该是滑动切换。所以每次只缓存3个页签元素(当前的页面以及前一个和后一个页面)。处理viewpager点击切换页面会有问题。由于缓存不存在造成填充页为空(除了黑色的背景啥也没有)。

一般的切换是写个监听类然后分别赋值给页签。如下:

public class MyOnClickListener implements View.OnClickListener {
		private int index = 0;

		public MyOnClickListener(int i) {
			index = i;
		}

		@Override
		public void onClick(View v) {
	
			mPager.setCurrentItem(index);
		}
	};
 

但是如果你有四个页签或者更多。当前在第一个页面如果此时你点击第四个页签就会出现空页面的情况。这是由于页面没有加载的缘故。想了好久最后得出如下解决方案:

public class MyOnClickListener implements View.OnClickListener {
		private int index = 0;

		public MyOnClickListener(int i) {
			index = i;
		}

		@Override
		public void onClick(View v) {
			if(index==3)
			{
				mPager.setCurrentItem(1);
				try {
					Thread.sleep(80);
					mPager.setCurrentItem(2);
				} catch (InterruptedException e) {
					e.printStackTrace();
				}
			}
			
			mPager.setCurrentItem(index);
		}
	};
 当你点击最后一个页签时代码先加载前面的两个页面。以便缓存中添加了最后一个页面。问题解决!!!
1
0
分享到:
评论

相关推荐

    TabLayout+ViewPager,切换页面,可点击,可滑动

    `TabLayout` 提供了可自定义的标签,用户可以通过点击这些标签来切换不同的页面,而 `ViewPager` 则负责管理这些页面的滑动切换效果。在本项目中,我们将探讨如何结合使用这两个组件,实现既可点击又可滑动的页面...

    带图标的ViewPager分页指示标签

    这个项目就是针对这一需求,利用`ViewPageIndicator`库结合`ViewPager`来实现一种灵活且简单的解决方案。下面我们将详细探讨如何实现这样的功能。 首先,`ViewPager`是Android SDK中的一个视图组件,它允许用户通过...

    Android解决ViewPager页面数小于3时,页面滑动空白bug

    当图片数量为2的时候,按原图片顺序再依次添加,图片数翻倍变为4,防止出现空白页,但是轮播点的个数依然写为2,这样就可以完美解决。 当图片数量为n>2的时候,按照常规写法即可。 文章地址:...

    解决ViewPager页面小于3时左滑会空白,献给有需要的朋友

    2. **设置OffscreenPageLimit**:ViewPager有一个属性`offscreenPageLimit`,默认值为1,表示在当前显示页面的两侧各保留一个页面。你可以根据实际需求将其设置得更大,比如等于页面总数,以确保所有页面都在内存中...

    viewpager 关于子页面控件监听的解决方法

    一种常见的解决方法是利用ViewPager的`OnPageChangeListener`接口。当页面状态改变时,该接口会回调相应的方法,例如`onPageSelected(int position)`,这个方法会在用户选择新页面时被调用。我们可以在父Activity或...

    viewpager 点击小圆点切换页面

    5. **处理小圆点点击事件**:为每个小圆点设置点击事件监听器,当用户点击小圆点时,调用`ViewPager.setCurrentItem()`方法,传入对应的小圆点表示的页面索引,使`ViewPager`切换到相应页面。 6. **同步小圆点和`...

    android ViewPager实现引导页效果

    ViewPager是Android SDK中的一个强大工具,它可以实现页面滑动浏览,非常适合创建这种交互式的引导页。 首先,我们需要了解ViewPager的基本概念。ViewPager是Android Support Library的一部分,它允许用户左右滑动...

    Viewpager带圆点过渡页

    【标题】"Viewpager带圆点过渡页"指的是在Android应用开发中,使用ViewPager组件实现页面滑动切换的同时,通过小圆点来指示当前显示页面的位置。这些小圆点通常位于页面底部,随着用户在ViewPager中滑动不同页面时,...

    viewpager页面指示器

    本项目"viewpager页面指示器"正是针对这一需求而设计的,它提供了自定义的解决方案,无论是否有美工的切图支持,开发者都能方便地集成到自己的应用中。 首先,我们来看一下如何实现自定义的页面指示器。在Android中...

    viewpager实现页面导航

    `ViewPager`是Android SDK中的一个强大组件,常用于实现滑动页面导航,尤其在实现TabLayout或者滑动切换页面的场景下非常实用。本篇将详细介绍如何利用`ViewPager`实现页面导航,以及如何降低代码耦合性。 首先,`...

    自定义viewpager的顶部标签栏

    在自定义的`ViewGroup`中,可以为每个子视图设置点击监听器,当点击事件发生时,通过`ViewPager.setCurrentItem(int position)`方法切换到对应的页面。 同时,为了让标签栏与`ViewPager`联动,我们需要实现一个接口...

    ViewPager实现无限轮播+item点击事件

    总结,实现一个带有无限轮播和点击事件的ViewPager,需要自定义PagerAdapter、设置`offscreenPageLimit`属性、为item设置点击事件以及可能的页面变换动画。通过这样的方式,我们可以创建一个高效且交互丰富的Android...

    ActionBar的tab + ViewPager 同时支持点击切换和滑动切换页面

    本篇文章将详细讲解如何利用`ActionBar`的`Tab`功能和`ViewPager`来构建一个既支持点击切换又支持滑动切换的多页面应用。 首先,`ActionBar`是Android应用中的顶部导航栏,它提供了展示应用标识、操作菜单以及导航...

    viewpager 实现一屏幕多页循环滚动

    标题"viewpager 实现一屏幕多页循环滚动"涉及到的技术点是如何让ViewPager不仅展示多个页面,而且能够实现循环滚动,即当滑动到最后一页时,会无缝跳转到第一页,反之亦然。这种效果常见于轮播图或者推荐栏等场景。 ...

    radionButton和viewpager实现页面切换的效果

    在监听器的回调方法中,我们可以获取到当前选中的RadioButton,并根据其位置(在RadioGroup中的索引)更新ViewPager的当前页。例如: ```java radioGroup.setOnCheckedChangeListener(new RadioGroup....

    ViewPager页面滑动切换

    在Android开发中,ViewPager是一种非常重要的组件,它允许用户通过左右滑动来浏览多个页面,常用于实现TabLayout或者滑动切换的界面。本篇文章将深入探讨如何在Android应用中使用ViewPager实现多页面滑动切换,并...

    ViewPager引导页

    **ViewPager引导页** 在Android应用开发中,ViewPager是一种常用的组件,用于展示可滑动的页面集合。它非常适合创建如引导页、轮播图等需要多页面平滑切换的效果。本教程将详细介绍如何利用ViewPager和FrameLayout...

    RadioButton和ViewPager实现页面滑动效果

    2. 设置OnCheckedChangeListener:为RadioGroup添加一个OnCheckedChangeListener监听器,当用户点击RadioButton时,可以通过事件回调获取选中的按钮,并据此更新ViewPager的当前页面。 3. 绑定ViewPager和...

    viewPager 导航页-轮播图

    在Android开发中,`ViewPager`是一种非常常用的组件,主要用于实现页面滑动切换的效果,常用于构建导航页或者轮播图。本教程将深入探讨`ViewPager`的使用方法以及如何实现一个功能完备的轮播图。 `ViewPager`是...

    viewpager实现页面切换demo

    在Android开发中,ViewPager是一个非常重要的组件,常用于实现页面滑动切换的效果,例如在应用的引导页、图片轮播、Tab布局等场景。本文将详细介绍如何使用ViewPager实现页面切换的Demo,以及相关的知识点。 首先,...

Global site tag (gtag.js) - Google Analytics