android 标题栏 fragment,切换Fragment 并更换标题栏
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
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 并更换标题栏相关推荐
- ViewPager+RadioGroup实现标题栏切换,Fragment切换
1.说明: 在使用RadioGroup做标题栏切换的时候,跟ViewPager的滑动有冲突,最后查看了源代码+断点调试攻克了一些碰到的问题,写一篇博客总结一下,有相同需求的朋友能够借鉴一下,自己以后实 ...
- 【Android】保存Fragment切换状态
[Android]保存Fragment切换状态 前言 一般频繁切换Fragment会导致频繁的释放和创建,如果Fragment比较臃肿体验就非常不好了,这里分享一个方法. 声明 欢迎转载,但请保留文章 ...
- [Android] 使用Include布局+Fragment滑动切换屏幕
前面的文章已经讲述了"随手拍"项目图像处理的技术部分,该篇文章主要是主界面的布局及屏幕滑动切换,并结合鸿洋大神的视频和郭神的第一行代码(强推两人Android博客),完成了 ...
- Android开发之最简单的布局点击Tab和Fragment切换源码(特别适合初学者)
老套路看效果图: 说实话这个布局实现的思路太多了,自己写以及第三方都特别多,不过对于初学者还是从一点一滴开始学起比较简单也容易理解.直接上源码吧,我这个是用的最新的AndroidX库和Kotlin写的 ...
- android 为什么fragment在调用hide方法后没有生效_Android 多 Fragment 切换优化
code小生,一个专注 Android 领域的技术平台 公众号回复 Android 加入我的安卓技术群 作者:DDDong丶 链接:https://www.jianshu.com/p/c8e8a024 ...
- android使碎片切换界面,玩转Android中的碎片Fragment
引言:在Android开发中,我们都知道一些界面的展示经常会用到的就是Activity,但是Activity存在着很大的局限性,比如说手机上的界面显示在平板上面就会发生各种变形的问题,Activity ...
- android 中radiogroup滑动切换,巧妙实现缺角radiogroup控制多个fragment切换和滑动
在android开发中,用一个radiogroup控制多个fragment切换是十分常见的需求.但是如果fragment是一个ListView,如何保证滑动的时候通过缺角可以看到下面的listview ...
- android fragment实例化,Android使得Fragment 切换时不重新实例化
以前实现Fragment的切换都是用replace方法实现 public void startFragmentAdd(Fragment fragment) { FragmentManager frag ...
- Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信...
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3360938.html 如新浪微博下面的标签切换功能,我以前也写过一篇博文(http:/ ...
最新文章
- Docker 入门系列(4)- Docker 数据管理(挂载目录、挂载文件、数据卷挂载、数据卷共享、数据卷删除、数据卷容器备份和恢复)
- 集合框架源码分析四(Collections类详细分析)
- java 微商城开发_Java网上商城系统可以开微信商城吗
- Centerface:开源实用的边缘设备无锚人脸检测与对齐算法
- 服务器端修改yapi-cli默认IP,centos部署yapi
- [Ext JS]12.12.1 必填字段组件扩展
- 教你动手做一个 iOS 越狱 app
- [转载] 机器学习篇—Numpy数值计算基础(中)
- spark相关原理介绍
- OpenGL学习(八)phong光照模型
- xshell和xftp官网
- 楚留香服务器维护时间,《一梦江湖》手游官方网站_《楚留香》现已全面升级重制-3月9日维护更新公告...
- linux的netperf测试,linux下Netperf使用详解
- 第三章 磁共振成像原理
- Win10快捷键大全快速开发切换操作之道
- 计算机文档考试题目及答案,计算机word考试题及答案解析
- 如何正确的打开google
- 爬虫系列 | 1、什么是爬虫,玩爬虫的正确姿势有哪些
- android tuner 教程,安卓调谐器(Android Tuner)
- 我还是不用百度免费的CDN好了!
热门文章
- java logic逻辑,logicJava的复习
- 作为文本内容空格的HTML标签,HTML.fromHtml在文本末尾添加空格?
- linux php cpu,查找linux下进程占用CPU过高的原因,以php-fpm为例
- java 云笔记本_java版云笔记(五)
- python做collatz猜想_R中的Collatz猜想
- json字符串多了双引号_Python-数据解析-json模块 !
- 利用计算机管理分区,win7增加磁盘分区教学 利用磁盘管理增加分区
- JAVA中用于处理字符串的 三兄弟
- Linux部署项目的步骤
- vue根据条件显示字段