- 浏览: 83796 次
- 性别:
- 来自: 北京
文章分类
最新评论
原文地址:http://www.cnblogs.com/ihou/archive/2012/09/12/2681759.html
关于ViewPager和Fragment
1.如何获取Fragement的引用?
Fragment fragement = getSupportFragmentManager(). findFragmentByTag("android:switcher:"+R.id.ViewPage+":" + selectTab);
这个Tag可以从FragmentPagerAdapter的源码中找到,如下:
@Override
public Object instantiateItem(ViewGroup container, int position) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
// Do we already have this fragment?
String name = makeFragmentName(container.getId(), position);
Fragment fragment = mFragmentManager.findFragmentByTag(name);
if (fragment != null) {
if (DEBUG) Log.v(TAG, "Attaching item #" + position + ": f=" + fragment);
mCurTransaction.attach(fragment);
} else {
fragment = getItem(position);
if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment);
mCurTransaction.add(container.getId(), fragment,
makeFragmentName(container.getId(), position));
}
if (fragment != mCurrentPrimaryItem) {
fragment.setMenuVisibility(false);
fragment.setUserVisibleHint(false);
}
return fragment;
}
其中的makeFragmentName方法产生的就是Tag
makeFragmentName的源码:
1
2
3
private static String makeFragmentName(int viewId, int index) {
return "android:switcher:" + viewId + ":" + index;
}
2.如何更新Fragement?
如果你需要在某一时刻动态的更改Fragement的布局或重新加载布局,可以使用此方法:
/***
* 整体更新ViewPager的一个Fragement的内容
*
* @param pager
* 需要更新的ViewPager
* @param position
* 需要更新的项目索引
* @param newView
* 更新后的View
* */
private void upDataFragement(ViewPager pager, int position, View newView) {
((FrameLayout) pager.getChildAt(position)).removeAllViews();
((FrameLayout) pager.getChildAt(position)).addView(newView);
}
1
1
关于ViewPager和Fragment
1.如何获取Fragement的引用?
Fragment fragement = getSupportFragmentManager(). findFragmentByTag("android:switcher:"+R.id.ViewPage+":" + selectTab);
这个Tag可以从FragmentPagerAdapter的源码中找到,如下:
@Override
public Object instantiateItem(ViewGroup container, int position) {
if (mCurTransaction == null) {
mCurTransaction = mFragmentManager.beginTransaction();
}
// Do we already have this fragment?
String name = makeFragmentName(container.getId(), position);
Fragment fragment = mFragmentManager.findFragmentByTag(name);
if (fragment != null) {
if (DEBUG) Log.v(TAG, "Attaching item #" + position + ": f=" + fragment);
mCurTransaction.attach(fragment);
} else {
fragment = getItem(position);
if (DEBUG) Log.v(TAG, "Adding item #" + position + ": f=" + fragment);
mCurTransaction.add(container.getId(), fragment,
makeFragmentName(container.getId(), position));
}
if (fragment != mCurrentPrimaryItem) {
fragment.setMenuVisibility(false);
fragment.setUserVisibleHint(false);
}
return fragment;
}
其中的makeFragmentName方法产生的就是Tag
makeFragmentName的源码:
1
2
3
private static String makeFragmentName(int viewId, int index) {
return "android:switcher:" + viewId + ":" + index;
}
2.如何更新Fragement?
如果你需要在某一时刻动态的更改Fragement的布局或重新加载布局,可以使用此方法:
/***
* 整体更新ViewPager的一个Fragement的内容
*
* @param pager
* 需要更新的ViewPager
* @param position
* 需要更新的项目索引
* @param newView
* 更新后的View
* */
private void upDataFragement(ViewPager pager, int position, View newView) {
((FrameLayout) pager.getChildAt(position)).removeAllViews();
((FrameLayout) pager.getChildAt(position)).addView(newView);
}
1
1
发表评论
-
Android SDK下载速度慢无法更新?使用国内镜像站加速
2016-01-29 18:18 720https://blog.kuoruan.com/24.htm ... -
探秘腾讯Android手机游戏平台之不安装游戏APK直接启动法
2014-08-01 12:02 394原文地址:http://blog.zhourunsheng.c ... -
Android移动操作系统的脆弱性分类研究
2014-03-18 14:46 615下载地址:http://www.paper.edu.cn/re ... -
Android实战技巧:深入解析AsyncTask
2014-03-06 11:21 342原文地址:http://blog.csdn ... -
Ubuntu android真机调试
2014-03-06 11:01 444关闭adb服务,切换到root,重启adb服务,离开root ... -
64位Ubuntu配置android环境报错(...adb": error=2, 没有那个文件或目录)
2014-02-07 13:29 577原文地址:http://blog.csdn.net/jayho ... -
【Android 声音处理】MediaPlayer和SoundPool
2014-01-14 17:08 1889原文地址:http://blog.sina ... -
Android自定义组件之一:View详解
2013-07-15 16:08 755原文地址:http://www.eoeandroid.com/ ... -
Android中error inflating class fragment
2013-06-19 17:21 1084原文地址:http://blog.csdn.net/qp120 ... -
拿来主义Android优秀开源项目
2013-06-05 11:57 884http://dengzhangtao.iteye.com/b ... -
android sqlite db-journal文件产生原因及说明
2013-06-05 11:37 3553原文地址:http://blog.csdn.net/chthq ... -
Android系统自带Camera方向判别
2013-05-22 16:40 661使用了OrientationEventListener, 也就 ... -
android onTouchEvent和setOnTouchListener中onTouch的区别
2013-03-27 10:35 723原文地址:http://blog.csdn ... -
Android源码编译整理总结
2013-01-08 11:37 677原文地址:http://www.cnblogs.com/hoj ... -
安卓图表引擎AChartEngine(一) - 简介
2012-12-20 17:47 955原文地址:http://blog.csdn.net/lk_bl ... -
微技巧:Android手机隐藏指令大全
2012-12-07 11:36 760原文地址:http://news.xinhuanet.com/ ... -
自定义控件(attrs定义属性的使用)
2012-12-04 11:38 1144这里为了演示使用自定义变量,字体大小改用自定义的属性。 首先 ... -
二进制在数学中的妙用
2012-11-14 15:50 798原文地址:http://blog.csdn.net/hackb ... -
国外程序员推荐:每个程序员都应读的书
2012-11-06 10:58 796原文地址:http://blog.jobbole.com/58 ... -
android 程序开发的插件化 模块化方法 之一
2012-11-02 10:47 912http://www.cnblogs.com/hangxin1 ...
相关推荐
在Android应用开发中,`ViewPager`和`Fragment`是两个重要的组件,它们常被结合使用以实现用户界面的滑动切换效果。`ViewPager`提供了一个可以左右滑动查看多个页面的容器,而`Fragment`则作为Activity的部分内容,...
在Android开发中,ViewPager和Fragment是两个非常重要的组件,它们能帮助我们构建出动态、交互性强的用户界面。ViewPager主要用于实现页面滑动效果,而Fragment则可以看作是Activity的一个模块化部分,允许我们在一...
本教程将详细讲解如何使用`ViewPager`和`Fragment`来实现这样的底部导航滑动Demo。 `ViewPager`是Android SDK中的一个强大组件,它允许用户通过左右滑动来浏览多个页面,非常适合于实现滑动浏览的场景。而`Fragment...
在Android开发中,`ViewPager`和`Fragment`是两个非常重要的组件,它们常被结合使用以实现丰富的用户界面和交互效果。`ViewPager`主要用于展示可滑动的页面集合,而`Fragment`则代表一个可嵌入到Activity中的独立UI...
【ViewPager+Fragment_Demo】是一个基于Android开发的项目示例,它展示了如何使用ViewPager和Fragment来构建一个功能完善的Tab导航栏。在Android应用设计中,Tab导航是一种常见的用户界面模式,用于展示多个相关的...
Android ViewPager+Fragment超高仿微信主界面(带底部图标切换动画)Android ViewPager+Fragment超高仿微信主界面(带底部图标切换动画)Android ViewPager+Fragment超高仿微信主界面(带底部图标切换动画)
在Android应用开发中,ViewPager和Fragment是两个非常重要的组件,它们可以用来构建高效且动态的用户界面。在本文中,我们将深入探讨如何将这两者结合起来,以实现更丰富的交互体验。 ViewPager是Android SDK中的一...
在Android应用开发中,ViewPager和Fragment是两个非常重要的组件,它们常常被结合使用来实现丰富的用户界面和交互体验。ViewPager允许用户左右滑动查看多个页面,而Fragment则为应用程序提供了模块化屏幕区域,使得...
在Android应用开发中,"ViewPager和Fragment实现底部导航"是一个常见的设计模式,它为用户提供了一种在多个页面间切换的直观方式。这个设计通常应用于具有多个主要功能区域的应用,如社交媒体、电商应用等。现在,让...
在Android开发中,`ViewPager`和`Fragment`的结合使用是一种常见的实现页面滑动和内容切换的方式。`ViewPager`提供了一个优雅的用户界面组件,允许用户通过左右滑动来浏览多个`Fragment`,每个`Fragment`代表一个...
android ViewPagerr嵌套Fragment 动态删除 动态插入,完美实现动态删除和插入,Fragment懒加载,可适用于各版本。the sample of android viewpager daynmic update or delete
在Android开发中,`ViewPager`和`Fragment`的结合使用是一种常见的实现页面滑动切换的手段,尤其适用于创建带有多个视图的复杂界面。`ViewPager`允许用户通过水平滑动来浏览相邻的`Fragment`,而`Fragment`则用于...
在Android开发中,`ViewPager`和`Fragment`的结合使用是一种常见的布局管理方式,尤其适用于构建具有多个页面滑动切换的界面,如电商应用的分类、商品展示等场景。本教程将详细介绍如何简单实现`ViewPager`与`...
"ViewPager&Fragment实现页面切换、底部导航栏"是一个常见的设计模式,它提供了多页面间的平滑过渡和一个固定在屏幕底部的导航栏,使得用户可以轻松地在各个主要功能之间切换。下面我们将深入探讨这个主题,讲解如何...
在Android开发中,`ViewPager`和`Fragment`的结合使用是一种常见的实现页面滑动切换的方案。`ViewPager`允许用户左右滑动查看多个`Fragment`,每个`Fragment`通常代表一个独立的页面。动态更新数据是指在应用运行时...
ViewPager 套fragment 再套 ViewPager 套fragment,本例子是借鉴http://download.csdn.net/detail/u013682582/9462667此例子。解决重复加载fragment,使得切换时标题未选中的问题
【标题】:在Android开发中,ViewPager和Fragment的结合使用是构建动态、可滑动页面的常见技术。这种组合能够创建出类似应用启动时的欢迎页效果,类似于新浪的欢迎界面,提供用户友好的交互体验。 【描述】:...
在这个"ViewPager + Fragment Demo程序"中,开发者尝试将ViewPager与Fragment相结合,以实现动态加载和展示多个Fragment页面的效果。虽然源代码可能没有太多的注释,但通过分析和学习这个Demo,我们可以深入理解这两...
项目提供的源码应该包含了这些功能的实现,导入Eclipse后可以直接运行,这对于学习和理解`ViewPager`与`Fragment`的使用,以及自定义顶部导航的实现是非常有帮助的。你可以通过阅读和分析代码,深入了解这些知识点,...
ViewPager+Fragment导航栏支持滑动和点击切换fragment,点击某个按钮触发替换某个tab的fragment。如有tab1,tab2两个导航按钮,分别对应tab1fragment和tab2fragment,点击某个按钮触发,将tab2的tab2fragment替换tab3...