Viewpager使用FragmentAdapter
来源:互联网 发布:unity3d怎么播放动画 编辑:程序博客网 时间:2024/05/17 23:47
使用FragmentAdapter的步骤如下:
- 新建一个子类让其继承FragmentAdapter,并且实现其中必须实现的方法
- 其中要想添加标题 还需添加public CharSequence getPageTitle(int position)方法
- 该类必须实现一个构造器,其中第一参数为FragmentManager,需要在mainActivity中用getFragmentManager传进来,如果使用的是support.v4 的包,则应该使用对应的方法传入
- 最后在main函数中声明Adapter对象,并且将Adapter加载到viewpager中来
example:
--------------------------------------------------------------------------------------------------------------------------
package com.example.viewpagertest;
import java.util.List;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
public class MyFragmentAdapter extends FragmentPagerAdapter{
private List<Fragment> fraglist;
private List<String> titlelist;
public MyFragmentAdapter(FragmentManager fm,List<Fragment> fraglist,List<String> titlelist) {
super(fm);
this.fraglist=fraglist;
this.titlelist=titlelist;
// TODO Auto-generated constructor stub
}
private List<String> titlelist;
public MyFragmentAdapter(FragmentManager fm,List<Fragment> fraglist,List<String> titlelist) {
super(fm);
this.fraglist=fraglist;
this.titlelist=titlelist;
// TODO Auto-generated constructor stub
}
@Override
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return fraglist.get(arg0);
}
public Fragment getItem(int arg0) {
// TODO Auto-generated method stub
return fraglist.get(arg0);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return fraglist.size();
}
public int getCount() {
// TODO Auto-generated method stub
return fraglist.size();
}
@Override
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titlelist.get(position);
}
}
public CharSequence getPageTitle(int position) {
// TODO Auto-generated method stub
return titlelist.get(position);
}
}
-------------------------------------------------------------------------------------------------------------
FragmentstateAdapter和FrgmentAdapter大致上相同,不同的是前者可以自动创建和销毁item,也就说后者的每次显示必须将所有的item都显示出来,前者则可显示部分。
FragmentstateAdapter需要多实现两个函数
就是instantiateItem和destroyItem....(好像是这两个)
---------------------------------------------------------------------------------------------------------------------------
ViewPager的监听器 OnPagerChangeListenner
public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
// TODO Auto-generated method stub
}
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
// TODO Auto-generated method stub
}
public void onPageSelected(int arg0) {
// TODO Auto-generated method stub
Toast.makeText(this,"当前是第"+arg0+"个页面", Toast.LENGTH_SHORT).show();
}
// TODO Auto-generated method stub
Toast.makeText(this,"当前是第"+arg0+"个页面", Toast.LENGTH_SHORT).show();
}
0 0
- Viewpager使用FragmentAdapter
- ViewPager+FragmentAdapter+Fragment
- 使用ViewPager+FragmentAdapter 增删Fragment 异常及bug
- viewpager+FragmentAdapter实现App主界面Tab
- 20 ViewPager demo5,6:FragmentAdapter 导航数据
- viewpager+fragmentadapter实现微信界面
- 我来谈谈ViewPager搭配FragmentAdapter的数据丢失问题
- viewpager使用
- ViewPager使用
- ViewPager使用
- ViewPager使用
- viewpager使用
- ViewPager使用
- ViewPager中ViewPager的使用
- (ViewPager)Android ViewPager使用详解
- 使用ViewPager.PageTransformer自定义ViewPager
- ViewPager 的使用
- viewpager的使用
- 实现Fragment与Activity通信
- Potato项目文档(3)
- Android之 Viewpager
- 258.[LeetCode]Add Digits
- 【Leetcode】:242. Valid Anagram问题 in Go语言
- Viewpager使用FragmentAdapter
- 类库使用记录,个人使用,以便查阅
- 自学Android开发日志
- Netty - Bytebuf(1)
- input子系统---按键程序详解
- leetCode 4. Median of Two Sorted Arrays
- APUE第一章 UNIX基础知识
- Document对象内容集合
- JAVA——String与StringBuffer以及StringBuilder