该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

package com.kingberry.googlemaptracks.adapter;

import java.util.ArrayList;

import android.app.ActionBar;

import android.app.ActionBar.Tab;

import android.app.ActionBar.TabListener;

import android.app.Activity;

import android.app.Fragment;

import android.app.FragmentTransaction;

import android.content.Context;

import android.os.Bundle;

import android.support.v13.app.FragmentPagerAdapter;

import android.support.v4.view.ViewPager;

import android.support.v4.view.ViewPager.OnPageChangeListener;

public class TabAdapter extends FragmentPagerAdapter implements TabListener, OnPageChangeListener {

private Context mContext;

private ActionBar mActionBar;

private ViewPager mViewPager;

private ArrayList mTabs = new ArrayList();

static final class TableInfo {

private Class> clss;

private Bundle args;

private Fragment mFragment;

TableInfo(Class> _clss, Bundle _args) {

clss = _clss;

args = _args;

}

}

public TabAdapter(Activity activity, ViewPager pager) {

// Need v13 jar package

super(activity.getFragmentManager());

//activity = activity;

mContext = activity.getApplicationContext();

mActionBar = activity.getActionBar();

mViewPager = pager;

mViewPager.setAdapter(this);

mViewPager.setOnPageChangeListener(this);

}

public void addTab(ActionBar.Tab tab, Class> clss, Bundle args) {

TableInfo info = new TableInfo(clss, args);

tab.setTag(info);

tab.setTabListener(this);

mTabs.add(info);

mActionBar.addTab(tab);

this.notifyDataSetChanged();

}

@Override

public void onPageScrollStateChanged(int arg0) {

}

@Override

public void onPageScrolled(int arg0, float arg1, int arg2) {

}

@Override

public void onPageSelected(int arg0) {

mActionBar.setSelectedNavigationItem(arg0);

}

@Override

public void onTabSelected(Tab tab, FragmentTransaction ft) {

Object tag = tab.getTag();

for (int i = 0; i < mTabs.size(); i++) {

if (mTabs.get(i) == tag) {

mViewPager.setCurrentItem(i);

}

}

}

@Override

public void onTabUnselected(Tab tab, FragmentTransaction ft) {

// Do nothing

}

@Override

public void onTabReselected(Tab tab, FragmentTransaction ft) {

// DO nothing

}

@Override

public Fragment getItem(int arg0) {

// TableInfo info=mTabs.get(arg0);

Fragment fragment = mTabs.get(arg0).mFragment;

if (fragment == null) {

fragment = Fragment.instantiate(mContext, mTabs.get(arg0).clss.getName(), mTabs.get(arg0).args);

}

return fragment;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return mTabs.size();

}

}

android 标题栏 fragment,切换Fragment 并更换标题栏相关推荐

  1. ViewPager+RadioGroup实现标题栏切换,Fragment切换

    1.说明: 在使用RadioGroup做标题栏切换的时候,跟ViewPager的滑动有冲突,最后查看了源代码+断点调试攻克了一些碰到的问题,写一篇博客总结一下,有相同需求的朋友能够借鉴一下,自己以后实 ...

  2. 【Android】保存Fragment切换状态

    [Android]保存Fragment切换状态 前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章 ...

  3. [Android] 使用Include布局+Fragment滑动切换屏幕

        前面的文章已经讲述了"随手拍"项目图像处理的技术部分,该篇文章主要是主界面的布局及屏幕滑动切换,并结合鸿洋大神的视频和郭神的第一行代码(强推两人Android博客),完成了 ...

  4. Android开发之最简单的布局点击Tab和Fragment切换源码(特别适合初学者)

    老套路看效果图: 说实话这个布局实现的思路太多了,自己写以及第三方都特别多,不过对于初学者还是从一点一滴开始学起比较简单也容易理解.直接上源码吧,我这个是用的最新的AndroidX库和Kotlin写的 ...

  5. android 为什么fragment在调用hide方法后没有生效_Android 多 Fragment 切换优化

    code小生,一个专注 Android 领域的技术平台 公众号回复 Android 加入我的安卓技术群 作者:DDDong丶 链接:https://www.jianshu.com/p/c8e8a024 ...

  6. android使碎片切换界面,玩转Android中的碎片Fragment

    引言:在Android开发中,我们都知道一些界面的展示经常会用到的就是Activity,但是Activity存在着很大的局限性,比如说手机上的界面显示在平板上面就会发生各种变形的问题,Activity ...

  7. android 中radiogroup滑动切换,巧妙实现缺角radiogroup控制多个fragment切换和滑动

    在android开发中,用一个radiogroup控制多个fragment切换是十分常见的需求.但是如果fragment是一个ListView,如何保证滑动的时候通过缺角可以看到下面的listview ...

  8. android fragment实例化,Android使得Fragment 切换时不重新实例化

    以前实现Fragment的切换都是用replace方法实现 public void startFragmentAdd(Fragment fragment) { FragmentManager frag ...

  9. Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信...

    以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3360938.html 如新浪微博下面的标签切换功能,我以前也写过一篇博文(http:/ ...

最新文章

  1. Docker 入门系列(4)- Docker 数据管理(挂载目录、挂载文件、数据卷挂载、数据卷共享、数据卷删除、数据卷容器备份和恢复)
  2. 集合框架源码分析四(Collections类详细分析)
  3. java 微商城开发_Java网上商城系统可以开微信商城吗
  4. Centerface:开源实用的边缘设备无锚人脸检测与对齐算法
  5. 服务器端修改yapi-cli默认IP,centos部署yapi
  6. [Ext JS]12.12.1 必填字段组件扩展
  7. 教你动手做一个 iOS 越狱 app
  8. [转载] 机器学习篇—Numpy数值计算基础(中)
  9. spark相关原理介绍
  10. OpenGL学习(八)phong光照模型
  11. xshell和xftp官网
  12. 楚留香服务器维护时间,《一梦江湖》手游官方网站_《楚留香》现已全面升级重制-3月9日维护更新公告...
  13. linux的netperf测试,linux下Netperf使用详解
  14. 第三章 磁共振成像原理
  15. Win10快捷键大全快速开发切换操作之道
  16. 计算机文档考试题目及答案,计算机word考试题及答案解析
  17. 如何正确的打开google
  18. 爬虫系列 | 1、什么是爬虫,玩爬虫的正确姿势有哪些
  19. android tuner 教程,安卓调谐器(Android Tuner)
  20. 我还是不用百度免费的CDN好了!

热门文章

  1. java logic逻辑,logicJava的复习
  2. 作为文本内容空格的HTML标签,HTML.fromHtml在文本末尾添加空格?
  3. linux php cpu,查找linux下进程占用CPU过高的原因,以php-fpm为例
  4. java 云笔记本_java版云笔记(五)
  5. python做collatz猜想_R中的Collatz猜想
  6. json字符串多了双引号_Python-数据解析-json模块 !
  7. 利用计算机管理分区,win7增加磁盘分区教学 利用磁盘管理增加分区
  8. JAVA中用于处理字符串的 三兄弟
  9. Linux部署项目的步骤
  10. vue根据条件显示字段