android中ViewPager結(jié)合Fragment進(jìn)行無(wú)限滑動(dòng)
實(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í)有所幫助,也希望大家多多支持腳本之家。
- Android中TabLayout+ViewPager 簡(jiǎn)單實(shí)現(xiàn)app底部Tab導(dǎo)航欄
- Android自定義ViewPagerIndicator實(shí)現(xiàn)炫酷導(dǎo)航欄指示器(ViewPager+Fragment)
- Android ViewPager實(shí)現(xiàn)輪播圖效果
- Android實(shí)現(xiàn)基于ViewPager的無(wú)限循環(huán)自動(dòng)播放帶指示器的輪播圖CarouselFigureView控件
- Android ViewPager加載圖片效果
- Android中ViewPager獲取當(dāng)前顯示的Fragment
- 詳解Android_性能優(yōu)化之ViewPager加載成百上千高清大圖oom解決方案
- Android實(shí)現(xiàn)Tab布局的4種方式(Fragment+TabPageIndicator+ViewPager)
- Android畫廊效果之ViewPager顯示多個(gè)圖片
- Android使用自定義PageTransformer實(shí)現(xiàn)個(gè)性的ViewPager動(dòng)畫切換效果
相關(guān)文章
Android?Studio?2022.1.1創(chuàng)建項(xiàng)目的Gradle配置問題
這篇文章主要介紹了Android?Studio?2022.1.1創(chuàng)建項(xiàng)目的Gradle配置問題,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04
Android SharedPreferences四種操作模式使用詳解
這篇文章主要介紹了Android SharedPreferences四種操作模式使用詳解的相關(guān)資料,這里介紹了獲取Android SharedPreferences的兩種方法及比較,和操作模式的介紹,需要的朋友可以參考下2017-07-07
Android實(shí)現(xiàn)左右滑動(dòng)效果的方法詳解
本篇文章是對(duì)Android實(shí)現(xiàn)左右滑動(dòng)效果的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Android MPAndroidChart開源圖表庫(kù)之餅狀圖的代碼
MPAndroidChart是一款基于Android的開源圖表庫(kù),MPAndroidChart不僅可以在Android設(shè)備上繪制各種統(tǒng)計(jì)圖表,而且可以對(duì)圖表進(jìn)行拖動(dòng)和縮放操作,應(yīng)用起來(lái)非常靈活2018-05-05
Android中自定義View的實(shí)現(xiàn)方式總結(jié)大全
這篇文章主要總結(jié)了Android中自定義View的實(shí)現(xiàn)方式的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)各位Android開發(fā)者們學(xué)習(xí)或者使用自定義View具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-04-04
Android 無(wú)障礙全局懸浮窗實(shí)現(xiàn)示例
本文主要介紹了Android 無(wú)障礙全局懸浮窗實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06

