最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Android App中ViewPager使用PagerAdapter的方法

 更新時間:2016年03月23日 11:00:26   作者:tinyphp  
這篇文章主要介紹了詳解Android App中ViewPager使用PagerAdapter的方法,同時附帶了一個ViewPager的PagerAdapter不能更新數(shù)據的問題解決方法,需要的朋友可以參考下

PageAdapter是一個抽象類,直接繼承于Object,導入包android.support.v4.view.PagerAdapter即可使用。

要使用PagerAdapter,

首先要繼承PagerAdapter類,至少覆蓋以下方法:

在每次創(chuàng)建ViewPager或滑動過程中,以下四個方法都會被調用,而instantiateItem和destroyItem中的方法要自己去實現(xiàn)。

public abstract int getCount();

這個方法,是獲取當前窗體界面數(shù)

public abstract boolean isViewFromObject(android.view.View arg0, java.lang.Object arg1);

這個方法用于判斷是否由對象生成界面

public java.lang.Object instantiateItem(android.view.View container, int position);

這個方法,return一個對象,這個對象表明了PagerAdapter適配器選擇哪個對象放在當前的ViewPager中

public void destroyItem(android.view.ViewGroup container, int position, java.lang.Object object);

這個方法,是從ViewGroup中移出當前View

public class ViewPagerAdapter extends PagerAdapter{

    @Override
    public int getCount() {
      // TODO Auto-generated method stub
      return 0;
    }

    @Override
    public boolean isViewFromObject(View arg0, Object arg1) {
      // TODO Auto-generated method stub
      return false;
    }


    @Override
    public void destroyItem(View container, int position, Object object) {
      // TODO Auto-generated method stub
      super.destroyItem(container, position, object);
    }
    
    @Override
    public Object instantiateItem(View container, int position) {
      // TODO Auto-generated method stub
      return super.instantiateItem(container, position);
    }
    
  }

   
ViewPager的PagerAdapter不可以更新數(shù)據問題的解決
在做項目的時候,發(fā)現(xiàn)即使調用了

galleryAdapter.notifyDataSetChanged();

但是ViewPager還是不會更新原來的數(shù)據。

后來在stackoverflow上面找到了方法,原文鏈接:
http://stackoverflow.com/questions/7263291/viewpager-pageradapter-not-updating-the-view
于是花了一點時間,修改了代碼:

protected PagerAdapter galleryAdapter = new PagerAdapter() { 
   
  @Override 
  public boolean isViewFromObject(View arg0, Object arg1) { 
     return arg0 == ((View)arg1);  
  } 
   
  @Override 
  public int getCount() { 
    return size; 
  } 
   
  @Override 
  public Object instantiateItem(View container, int position) { 
    return bindGalleryAdapterItemView(container, position); 
  } 
   
  @Override 
  public void destroyItem(View container, int position, Object object) { 
     ((ViewPager) container).removeView((View) object);  
  }; 
   
    @Override  
    public void finishUpdate(View arg0) {}  
      
    @Override 
    public void restoreState(android.os.Parcelable state, ClassLoader loader) { 
     
    }; 
  
    @Override  
    public Parcelable saveState() {  
      return null;  
    }  
  
    @Override  
    public void startUpdate(View arg0) {}  
     
    @Override 
    public int getItemPosition(Object object) { 
    return POSITION_NONE; 
    } 
 
}; 

注意:POSITION_NONE 是一個PagerAdapter的內部常量,值是-2,
API里面有說明:

int android.support.v4.view.PagerAdapter.POSITION_NONE = -2 [0xfffffffe]

可以更新數(shù)據了。嘿嘿。  

相關文章

  • Android實現(xiàn)漸變啟動頁和帶有指示器的引導頁

    Android實現(xiàn)漸變啟動頁和帶有指示器的引導頁

    這篇文章主要為大家詳細介紹了Android實現(xiàn)漸變啟動頁和帶有指示器的引導頁,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Android讀取XML文件中的數(shù)據

    Android讀取XML文件中的數(shù)據

    這篇文章主要為大家詳細介紹了Android讀取XML文件中的數(shù)據,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • Android自動播放Banner圖片輪播效果

    Android自動播放Banner圖片輪播效果

    這篇文章主要介紹了Android自動播放Banner圖片輪播效果的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-07-07
  • Android中TelephonyManager類的用法案例詳解

    Android中TelephonyManager類的用法案例詳解

    這篇文章主要介紹了Android中TelephonyManager類的用法,以獲取Android手機硬件信息為例詳細分析了TelephonyManager類的使用技巧,需要的朋友可以參考下
    2015-09-09
  • Android使用Opengl錄像時添加水印

    Android使用Opengl錄像時添加水印

    這篇文章主要為大家詳細介紹了Android使用Opengl錄像時添加水印,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • 詳解Flutter?響應式狀態(tài)管理框架GetX

    詳解Flutter?響應式狀態(tài)管理框架GetX

    這篇文章主要為大家介紹了Flutter?響應式狀態(tài)管理框架GetX詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • Android scrollview實現(xiàn)底部繼續(xù)拖動查看圖文詳情

    Android scrollview實現(xiàn)底部繼續(xù)拖動查看圖文詳情

    這篇文章主要為大家詳細介紹了Android scrollview實現(xiàn)底部繼續(xù)拖動查看圖文詳情,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Android應用啟動速度優(yōu)化

    Android應用啟動速度優(yōu)化

    這篇文章主要介紹了Android應用啟動速度優(yōu)化的相關資料,需要的朋友可以參考下
    2016-01-01
  • Android控件之ImageView用法實例分析

    Android控件之ImageView用法實例分析

    這篇文章主要介紹了Android控件之ImageView用法,以實例形式較為詳細的分析了ImageView控件用于顯示圖片的使用方法,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-09-09
  • Android Activity 不能被截屏的解決方法

    Android Activity 不能被截屏的解決方法

    下面小編就為大家分享一篇Android Activity 不能被截屏的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02

最新評論

维西| 德兴市| 麻江县| 桐梓县| 文化| 准格尔旗| 页游| 田林县| 五常市| 勃利县| 灵丘县| 普宁市| 明溪县| 湟中县| 潢川县| 平凉市| 金乡县| 元阳县| 昌江| 固阳县| 枣庄市| 府谷县| 佳木斯市| 龙陵县| 德兴市| 丹江口市| 石泉县| 云阳县| 芒康县| 广灵县| 井陉县| 抚顺市| 安徽省| 宁明县| 丰原市| 巴楚县| 林芝县| 德庆县| 山东省| 兴文县| 钟祥市|