当前位置:操作系统 > 安卓/Android >>

关于使用ViewPager和LayoutInflater的出现问题

问题如下:
1. ViewPager应该怎么配?(仿微信的功能引导页)

 *  需要一个布局,布局里面有android.support.v4.view.ViewPager,还有几个代表点(用XML实现drawable,目的是切换不同颜色的点)的ImageView

 *  需要自定义适配器继承PagerAdapter,实现getCount, isViewFromObject, destroyItem, instantiateItem这几个方法,传入的是List<View> pageViews

 *  Activity里面定义并获取List<View>(装page view,每个page都是一个XML布局,需要用LayoutInflater来获取), List<ImageView>(装dot view),获取ViewPager,实例化Adapter,viewPager.setAdapter,viewPager.setOnPageChangeListener(这个要在onPageSelected实现改变点颜色的功能)

 


2. LayoutInflater明明没有用错,XML也没错,为什么还报android.view.InflateException: Binary XML file line #8: Error inflating class的错误呢?

报错的地方是这里:


[java]
private List<View> getViews(){ 
    LayoutInflater inflater = this.getLayoutInflater();//反射  
    List<View> views = new ArrayList<View>(); 
    View view1 = inflater.inflate(R.layout.intro_page_one, null);//这里报错  
    views.add(view1); 
    View view2 = inflater.inflate(R.layout.intro_page_two, null); 
    views.add(view2); 
     
    return views; 

 private List<View> getViews(){
  LayoutInflater inflater = this.getLayoutInflater();//反射
  List<View> views = new ArrayList<View>();
  View view1 = inflater.inflate(R.layout.intro_page_one, null);//这里报错
  views.add(view1);
  View view2 = inflater.inflate(R.layout.intro_page_two, null);
  views.add(view2);
  
  return views;
 }用了三种方法获取LayoutInflater,结果还是一样  #获取LayoutInflater三种方式#


其实,后面还有报OutOfMemoryError,怎么可能!我就换了几张图(原来的图都是700K,换30K的图),结果显示正常!!!!

调用这个反射,是因为要获取的Layout不是setContentView里面的那个Layout。

 


3. 如何实现第一次安装APP的时候,进入欢迎页,停顿3秒,进入引导页,点击确定,进入APP;

     之后启动APP,进入欢迎页,不会进入引导页,直接进入APP;

     在APP的某个按钮点击帮助,会重启APP,进入欢迎页,进入引导页,进入APP?

 

补充:移动开发 , Android ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,