ViewPager加载不出View的解决方法
来源:互联网 发布:车辆维修记录软件 编辑:程序博客网 时间:2024/05/17 00:18
ViewPager加载不出View的解决方法
今天在写App的时候遇到了一个问题,我用ViewPager加载三个View(里面只放了一个全屏的ImageView)的时候,View的背景颜色设置的是黑色,但是加载出来的View是全屏的白色,并且没有图片。意思也就是说没有加载成功。但是App还是可以正常的翻页。
后来发现该问题出在写ViewPagerAdapter类的时候,继承了ViewPager,里面的一个函数有错误,叫做instantiateItem(ViewGroup container, int position)
下面是未修改时的ViewPagerAdapter代码:
package com.example.a53125.viewpagertest;
import android.content.Context;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.view.ViewGroup;
import java.util.List;/** * Created by 53125 on 2017/8/5. */public class ViewPagerAdapter extends PagerAdapter { private List<View> list; private Context context; ViewPagerAdapter(Context context,List<View> list){ this.list = list; this.context = context; } public void addViewPager(ViewPager vp){ list.add(vp); }; public void removeViewPager(){}; @Override public int getCount() { return list.size(); } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView(list.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { return container; } @Override public boolean isViewFromObject(View view, Object object) { return (view == object); }}
其中我们的 instantiateItem(ViewGroup container, int position)函数是直接返回的container。而这个容器的作用是,在实例化新的ViewPagerAdapter类的时候,会自动调用该函数,该函数会根据你的传入的List来把里面每一个View都放进Adapter里面,所以在该函数里面我们必须把每一个View都添加到ViewPagerAdapter的List里面,再将该ViewPagerAdapter与一个xml文件绑定,这样就能得到我们预期的视图了。
修改后的instantiateItem(ViewGroup container, int position)函数代码如下:
@Override public Object instantiateItem(ViewGroup container, int position) { container.addView(list.get(position)); return list.get(position); }
- ViewPager加载不出View的解决方法
- Android-----Viewpager加载不出Fragment数据的情况
- 对于android WebView加载不出Html5网页的解决方法
- Coursera课程视频加载不出解决方法
- 另一种方法:当使用ViewPager加载大量View时卡顿严重的简单解决方法
- ViewPager + Fragment的预加载解决方法
- Android ViewPager+Fragment切换显示不出的问题
- ViewPager在activity中显示不出图片的解决办法
- Android ViewPager+Fragment切换显示不出的问题
- [android] viewpager获取当前view报空指针的解决方法
- [android] viewpager获取当前view报空指针的解决方法
- viewpager获取当前view报空指针的解决方法
- viewpager获取当前view报空指针的解决方法
- android如何使viewpager不销毁已经创建的view
- ViewPager和ScrollView冲突,不重写控件的一个解决方法
- android scrollView中使用viewpager 不显示的解决方法
- 自定义不预加载viewpager
- 图片太大加载不出来的解决方法
- hadoop启动时,报ssh: Could not resolve hostname xxx: Name or service not known
- 问题 W: 锤子剪刀布
- POJ1419:Graph Coloring(图的最大独立集)
- 认真学习php面向对象-3
- 【Java学习笔记】26:打印流&数据流
- ViewPager加载不出View的解决方法
- Integer.parseInt("") Integer.valueOf("")和new Integer("")之间的区别
- 6 Major Differences between English and Chinese
- MathType和Office 2016兼容设置
- 文件选择器JFileChooser
- * 24种设计模式——桥梁模式
- 在centos中使用yum安装mongodb
- 简单商品管理
- 问题 X: 个位数统计