跳转:
android从fragment跳转到fragment问题解决
传值:
activity嵌套fragment,fragment内嵌fragment之间传值切换fragment
Android Support v4 支持包中 Fragment用法
使用activity的fragmenttransation的replace方法替换
private void changeToAnotherFragment(){ //如果是用的v4的包,则用getActivity().getSuppoutFragmentManager(); FragmentManager fm = getActivity().getFragmentManager(); //注意v4包的配套使用 Fragment fragment = new 目标fragment(); fm.beginTransaction().replace(容器控件id,fragment).commit(); }
================================================================================
当在使用activity嵌套fragment,fragment再嵌套子fragment时,相当于有两层fragment,假设最外层为第一层,其中一个Fragment为ParentfragmentA,该ParentFragmentA中又嵌套了三个fragment,也就是说第二层为ChildFragment1,ChildFragment2,ChildFragment3,如果想在其中一个子fragment中的控件点击切换到同一层的另一个子fragment
如图,在第二层fragment中,child1fragment中有两个控件viewI和viewII,点击viewI可以切换到同一层的fragment,比如,点击切换到ChildFragment2
实现如下:
在点击viewI时进行如下操作
FragmentManager manager = getFragmentManager();//获取到父fragment的管理器 //获取到父parentFragment ParentFragmentA home = (ParentFragmentA) manager.getFragments().get(0); //获取到ParentFragment的mViewPager变量 home.mViewPager.setCurrentItem(1);
说明一下,ParentFragmentA中声明的mViewPager必须为public。
说一下getFragmentManger方法
/** * Return the FragmentManager for interacting with fragments associated * with this fragment's activity. Note that this will be non-null slightly * before {@link #getActivity()}, during the time from when the fragment is * placed in a {@link FragmentTransaction} until it is committed and * attached to its activity. * * <p>If this Fragment is a child of another Fragment, the FragmentManager * returned here will be the parent's {@link #getChildFragmentManager()}. */ final public FragmentManager getFragmentManager() { return mFragmentManager; } /** * Return a private FragmentManager for placing and managing Fragments * inside of this Fragment. */ final public FragmentManager getChildFragmentManager() {
官方API已经写明,getFragmentManger方法:如果该fragment是另一个fragment的子fragment,则获取到的是父fragment的manager
getChildFragmentManager方法:获取到外层fragment的子fragment的manager
对于viewII的点击事件,实现从Child1切换到ParentB
//获取到 所依附的activity对象 InitEmptyKeyActivity activity = (InitEmptyKeyActivity) getActivity(); activity.mViewPager.setCurrentItem(IntentConstant.MANAGE_AND_OP_FRAGMENT);
..
相关推荐
Activity作为应用程序的主要入口点,而Fragment则作为可重用的UI块,可以在多个Activity之间切换或组合。然而,在使用Fragment时,有时会出现一个问题:当Activity由于配置更改(如屏幕旋转)等原因需要重建...
当我们需要在一个`Fragment`内部再使用`ViewPager`来实现子页面的切换时,就会涉及到`Fragment`与`ViewPager`的嵌套使用。下面将详细介绍这种嵌套使用的方式及其关键知识点。 首先,理解`Fragment`的生命周期至关...
在Android开发中,Fragment懒加载是一种优化策略,用于在Fragment真正需要显示时才进行数据加载或网络请求,以节省资源并提升用户体验。随着Feed流应用的流行,Fragment懒加载成为了开发者必须关注的知识点。传统的...
"Fragment+Web" 主题则涉及到如何在Fragment中嵌入网页内容,实现安卓应用与Web端内容的交互。 首先,让我们深入理解Fragment的基本概念和使用。Fragment是Android 3.0(API级别11)引入的,设计目的是为了更好地...
- 由于Fragment和CordovaWebView是两个不同的组件,它们之间的通信需要通过接口或本地JavaScript对象实现。 - 使用`addJavascriptInterface()`方法可以将Java对象暴露给JavaScript,允许JavaScript代码调用Android...
通常,内嵌的Fragment应该通过getParentFragment()获取其父Fragment,而不是直接引用Activity。 9. **Fragment的生命周期与Activity的生命周期关联**:Fragment的生命周期受到所依附Activity的影响。例如,当...
在 Android 中有些 Activity 在手机上看起来很美观,但放在屏幕更大的平板类的设备上,可能就不一样了,而 Fragment 能在一个 Activity 中内嵌多个独立的小 Activity,有效的解决了 app 在大屏设备上...
在这个项目中,每个Fragment可能包含一个特定的功能或内容区域,如新闻列表、图片展示等,通过ViewPager的滑动动作进行切换。 3. **侧滑选项卡**: 侧滑选项卡是一种常见的UI设计,用户可以通过左右滑动来切换页面...
问题的关键在于,当Fragment嵌套时,Activity的Fragment列表中实际上记录的是最外层的Fragment,而非真正发起startActivityForResult请求的内嵌Fragment。这就导致了内嵌Fragment无法接收到onActivityResult的回调。...
开发者可以通过`PagerAdapter`的子类,如`FragmentPagerAdapter`或`FragmentStatePagerAdapter`来配合ViewPager工作,实现Fragment的切换。 2. 侧滑选项卡实现: 在Android应用中,侧滑选项卡通常是通过在ViewPager...
Google(sdk19) 样例学习. fragment在eclipse下自动生成对应代码,样例中没有描述,必须试试才知。再就是refrence/guide/apiDemo都有同一个错误。更改下。两个样例,分别是内嵌类和独立类方式。
`ViewPager`通常与Fragment配合使用,以实现Tab之间的滑动切换。 3. **ViewPager**:`ViewPager`是Android中的一个视图容器,用于展示可横向滑动的页面序列。通常与`PagerAdapter`一起使用,它可以自动处理页面的...
Fragment与Activity之间的关系密切,它们的生命周期相互影响,理解这种关系对于开发高质量的Android应用至关重要。 Activity的生命周期包括以下几个主要阶段: 1. onCreate(): 当Activity首次创建时调用,用于初始...
9. **Nested Fragment**:自Android 4.2(API级别17)起,引入了嵌套Fragment的概念,允许Fragment内嵌其他Fragment,进一步增强了布局设计的复杂性和层次感。 10. **Fragment的嵌套使用**:在大型项目中,Fragment...
通过适配器(通常是`PagerAdapter`的子类)将数据绑定到ViewPager,使得用户可以在不同的Fragment之间平滑切换。 2. **Fragment**:Fragment是Android应用中的一个可重用的UI组件,它可以独立于Activity存在,也...
在Android开发中,ScrollView通常用于实现可滚动的内容视图,而RecyclerView则是一个高效的数据列表视图,能够自动管理并重用列表项。然而,当ScrollView嵌套RecyclerView时,可能会遇到一些常见问题,如RecycleView...
Fragment是作为Activity的UI的一部分,它内嵌在Activity中,多个Fragment可以把一个Activity分成多个部分,这在大屏幕手机或者平板电脑中会比较多的用到,这样就不用使用多个Activity来切换这么麻烦了。当然Fragment...
例如,当用户在选项卡之间切换时,需要调用finish()方法结束当前子Activity,并启动新的子Activity。 5. 源码分析:通过对源码的深入研究,我们可以了解到如何在TabHost的切换事件中正确地管理ActivityGroup的子...
总之,AndroidTabHost内嵌ActivityGroup的界面管理是一种较旧的实践,适用于处理早期版本的Android应用。如今,更推荐使用Fragment和ViewPager来实现类似功能,它们提供了更好的可维护性和性能。尽管如此,理解这种...
通过学习这些源码,开发者可以深入了解如何在早期Android版本中实现多标签页界面,并对比现代Android框架中的Fragment解决方案,理解两者之间的差异和优劣。不过,由于ActivityGroup已经过时,开发者在新项目中应该...