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

android中ViewPager結(jié)合Fragment進(jìn)行無(wú)限滑動(dòng)

 更新時(shí)間:2017年03月08日 11:39:47   作者:妖久  
本篇文章中主要介紹了android中ViewPager結(jié)合Fragment進(jìn)行無(wú)限滑動(dòng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。

實(shí)現(xiàn)ViewPager結(jié)合Fragment實(shí)現(xiàn)無(wú)限循環(huán)切換,這里也是在適配器里面進(jìn)行的,當(dāng)然使用滑動(dòng)監(jiān)聽也能夠?qū)崿F(xiàn)

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.ViewGroup;

import java.util.ArrayList;

public class adapter extends FragmentPagerAdapter
{
  private ArrayList<Fragment> fragmentList;
  public adapter(FragmentManager fm)
  {
    super(fm);
  }
  public adapter(FragmentManager fm, ArrayList<Fragment> fragmentList)
  {
    super(fm);
    this.fragmentList=fragmentList;
  }
  @Override
  public Fragment getItem(int position)
  {
    //在這里不處理position的原因是因?yàn)間etItem方法在
    //instantiateItem方法中調(diào)用。只要在調(diào)用前處理
    //position即可,以免重復(fù)處理

    return fragmentList.get(position);
  }

  @Override
  public int getCount() 
  {
    return Integer.MAX_VALUE;
  }

  @Override
  public int getItemPosition(Object object) 
  {
    return super.getItemPosition(object);
  }

  @Override
  public Object instantiateItem(ViewGroup container, int position) 
  {
    //處理position。讓數(shù)組下標(biāo)落在[0,fragmentList.size)中,防止越界
    position = position % fragmentList.size();

    return super.instantiateItem(container, position);
  }

}

經(jīng)過實(shí)際檢驗(yàn),要傳進(jìn)4個(gè)fragment,否則往右邊滑動(dòng)會(huì)出現(xiàn)問題,原因不知......

想要實(shí)現(xiàn)答題界面的翻頁(yè)效果便可以采用這種方法,可以建立一個(gè)ReadFragment,然后new 出4個(gè)這個(gè)Fragment的對(duì)象。不同頁(yè)面的共同的處理可以直接在ReadFragment里頭實(shí)現(xiàn),翻頁(yè)的時(shí)候每一頁(yè)需要改變的參數(shù)可以在滑動(dòng)監(jiān)聽器里獲取這4個(gè)對(duì)象來(lái)實(shí)現(xiàn)。

    Fragment a=new ReadFragment();
    Fragment b=new ReadFragment();
    Fragment c=new ReadFragment();
    Fragment d=new ReadFragment();

    list=new ArrayList<Fragment>();
    list.add(a);
    list.add(b);
    list.add(c);
    list.add(d);

    readViewPager.setAdapter(new adapter(getSupportFragmentManager(),list));
readViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener()
    {
      @Override
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
      {}

      @Override
      public void onPageSelected(int position)
      {
        //處理position。讓position落在[0,fragmentList.size)中,防止數(shù)組越界
        position = position % list.size();
        ReadFragment fragment= (ReadFragment) list.get(position); //獲得此時(shí)選中的fragment
        fragment.refreshState(); //翻頁(yè)的時(shí)候每個(gè)頁(yè)面需要改變的參數(shù)使用這個(gè)方法來(lái)實(shí)現(xiàn),這個(gè)方法在ReadFragment里面,修飾器得使用public
        ...
      }

      @Override
      public void onPageScrollStateChanged(int state)
      {}
    });

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

四会市| 合作市| 湾仔区| 宁武县| 泰和县| 大港区| 鄂托克前旗| 德阳市| 大关县| 当雄县| 调兵山市| 星子县| 孝昌县| 呼图壁县| 河北区| 额敏县| 达拉特旗| 本溪市| 育儿| 金平| 石楼县| 洛浦县| 绥滨县| 客服| 乃东县| 长沙市| 扬州市| 松溪县| 玉屏| 冀州市| 河东区| 南岸区| 博野县| 尼玛县| 汤原县| 中卫市| 浪卡子县| 满洲里市| 南宁市| 盐池县| 富阳市|