1. 程式人生 > >關於Viewpager中的Fragment 滑動時儲存狀態的問題

關於Viewpager中的Fragment 滑動時儲存狀態的問題

package com.example.viewpagerfragmentdemo;

import java.util.List;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentStatePagerAdapter;
import android.util.Log;
import android.view.ViewGroup;

public class MyAdapter extends FragmentPagerAdapter {

	public FragmentManager fm;
	public List<Fragment> list;

	public MyAdapter(FragmentManager fm) {
		super(fm);
	}

	public MyAdapter(FragmentManager fm, List<Fragment> list) {
		super(fm);
		this.fm = fm;
		this.list = list;
	}

	@Override
	public Fragment getItem(int position) {
		Fragment fragment = null;
		Log.i("sssssssssssss", "getItem");
		fragment = list.get(position);
		Bundle bundle = new Bundle();
		bundle.putString("id", "" + position);
		fragment.setArguments(bundle);
		return fragment;
	}

	@Override
	public int getCount() {
		return list.size();
	}

	@Override
	public Fragment instantiateItem(ViewGroup container, int position) {
		Fragment fragment = (Fragment) super.instantiateItem(container,
				position);
		fm.beginTransaction().show(fragment).commit();
		return fragment;
	}

	@Override
	public void destroyItem(ViewGroup container, int position, Object object) {
		// super.destroyItem(container, position, object);
		Fragment fragment = list.get(position);
		fm.beginTransaction().hide(fragment).commit();
	}
}


相關推薦

ViewpagerFragment 滑動儲存狀態的問題

之前遇到了在ViewPager中使用Fragment的情況,結果遇到了一個問題就是當viewPager划過去,再滑動回來後之前的fragment又回到了初始化的狀態。所以就研究了一下。網上搜了一下,大部分都是說這個FragmentPagerAdapter和FragmentStatePagerAdap

關於ViewpagerFragment 滑動儲存狀態的問題

package com.example.viewpagerfragmentdemo; import java.util.List; import android.os.Bundle; import android.support.v4.app.Fragment; import android.suppor

處理在ViewPager碎片切換RecyclerView巢狀RecyclerView內部recyclerView會自動滑動的問題

解決方法:假設被巢狀的RecyclerView例項物件為item,程式碼中加上:item.setFocusableInTouchMode(false);//設定不需要焦點補充:看別人的解決方法還多加了一行程式碼:mTestItemSuperRecyclerView.reque

viewPager結合Fragment使用怎麼儲存Fragment狀態

viewPager和Fragment一起使用的時候需要注意Fragment的狀態儲存和Fragment的資料預載入問題。 上一篇文章我眼中的Fragment基類的寫法通過建立Fragment基類解

TabLayout+ViewPagerFragment 複用為什麼只出來一條資料?

思路:              首先這個介面有兩種甚至三種方式是可以實現的,下面讓我來為大家講講我的思路,希望大家不要覺得我太廢話了,嘿嘿,其實我在現實生活中就是一個,外向,陽光,積極向上喜歡說話交好朋友的女孩,興趣愛好更是數不勝數,但是做了敲程式碼的奴隸後我就很少有時間

android開發之Fragment利用Bundle儲存狀態

相信很多小夥伴們在使用Fragment都會遇到狀態儲存的問題,今天介紹一個簡單的案例。 大家都知道在使用Activity之間傳遞資料時大部分情況下都是用Bundle; 先幫大家複習一下Bundle,利用鍵值對(key-value)來儲存資料的,內部包含ArrayMap<

AndroidListView滑動資料混亂

主要分析Android ListView滾動過程中圖片顯示重複、錯亂、閃爍的原因及解決方法,順帶提及ListView的快取機制。 1、原因分析 ListView item快取機制:為了使得效能更優,ListView會快取行item(某行對應的View)。ListView通過adapter的getV

Android 螢幕旋轉儲存狀態

android中每次螢幕的旋轉都會重啟Activity,所以應該給每個activity加上 android:configChanges="keyboardHidden|orientation"屬性,就不會重啟activity,而是去呼叫 onConfigurationCh

ViewPagerFragment和Activity直間的傳值

程式碼拿走,程式碼拿走,首先因為我的需求頁面都差不多,類似於頭條的那種,所以直接公用了一個fragment佈局,當然你也可以建立多個,沒有影響,主要實現的就行Fragment和Activity的傳值處理 首先建立一個Fragment,在這裡面我是定義了一個公共的靜態方法,g

ViewPager使用Fragment防止資料預載入

  我們知道ViewPager是具有預載入頁面的特性的,預設會提前載入左右各1頁的View, 如果在ViewPager中使用Fragment,那麼Fragment也會被預載入,如果你是在Fragment生命週期中寫請求網路載入資料的方法,就會遇到頁面未展示,但是資料會被提前載入的問題,有時我

AndroidFragment+Viewpager實現左右滑動和點選

一.佈局檔案 <?xml version="1.0" encoding="utf-8"?> <android.support.v4.view.ViewPager android:id="@+id/viewpager" andr

解決Android開發ViewPager動態設定PagerAdapter第二次進入Fragment內容不顯示的問題

問題描述 筆者最近的Android專案要用到PagerSlidingTabStrip和ViewPager的組合,但是從github上下載原始碼後順利執行示例專案,用到自己的專案後發現一個問題,就是第二次進入該ViewPager所在Fragment後PagerS

ViewPager+Fragment切換,RecyclerView向上自動滑動

ViewPager+Fragment在專案中經常會遇到,最近一個專案就是這種情況,ViewPager+Fragment,每一個Fragment又有RecyclerView滑動監聽,但是在ViewPager切換頁面時,Fr

AndroidListView包含Button滑動丟失選中狀態的解決方法(二)

1.介面卡中的主要邏輯: import android.content.Context; import android.support.v4.content.ContextCompat; import android.text.TextUtils; import a

靜態頁面導航切換的當前狀態(四中方法)

HA 靜態頁 () ctype urn ren -- func class <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <

安卓VerticalViewPager+Fragment+SurfaceView滑動SurfaceView出現白屏和黑屏問題解決

最近在做和抖音一樣的上下滑動切換視訊的功能,用的是VerticalViewPager+Fragment+SurfaceView。中間遇到了一個問題就是每次滑動切換介面時正在顯示視訊畫面的SurfaceView控制元件總是變白,鬆手後又正常顯示畫面,特此記錄一下解決方法,下次再遇到,好回來查閱,也希望

Android Fragment+Viewpager實現左右滑動和點選 實現DrawerLayout

xml佈局程式碼: <android.support.v4.widget.DrawerLayout xmlns:android=“http://schemas.android.com/apk/res/android” xmlns:app=“http://schemas.androi

一個Activity多個Fragment,個別fragment實現沉浸式狀態

                如上圖,同一個activity(NoActionBar)有多個fragment的情況下,只有"我的"模組需要設定為沉浸式的狀態列,而其他fragmen

Tablayout+ViewPager+Fragment滑動資料丟失並且卡頓問題

最近在寫一個專案時,使用fragment巢狀Tablayout+ViewPager中再巢狀fragment時,來回滑動後第三個fragment的資料丟失,並第三個fragment中的內層fragment的滑動卡頓。如下圖: 標題 原因:

ViewPager+Fragment滑動切換頁面(RadioButton底部導航欄)

      Activity要繼承FragementActivity,在Activity的佈局檔案中放入了一個ViewPager,為了效果好看,還做了個導航,使得ViewPager和導航欄能夠實現聯動,即ViewPager滑動切換頁面和點選導航欄切換頁面,