`
大头K
  • 浏览: 186056 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

FragmentTabHost切换Fragment时避免UI重新加载

阅读更多
用FragmentTabHost + Fragment 可以实现微博底栏菜单,看图:



不过,初次实现时发现有个缺陷,每次FragmentTabHost切换fragment时会调用onCreateView()重绘UI。

解决方法,在fragment onCreateView 里缓存View:

	private View rootView;// 缓存Fragment view

	@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState)
	{
		Log.i(TAG, "onCreateView");

		if (rootView == null)
		{
			rootView = inflater.inflate(R.layout.fragment_1, null);
		}
		// 缓存的rootView需要判断是否已经被加过parent,如果有parent需要从parent删除,要不然会发生这个rootview已经有parent的错误。
		ViewGroup parent = (ViewGroup) rootView.getParent();
		if (parent != null)
		{
			parent.removeView(rootView);
		}
		return rootView;
	}
  • 大小: 84 KB
0
0
分享到:
评论

相关推荐

    Android中FragmentTabHost结合fragment实现选项卡功能

    FragmentTabHost允许开发者在每个选项卡中加载不同的Fragment,这样可以更好地支持多任务处理和复杂的用户界面设计。 Fragment是Android 3.0(API级别11)引入的一种UI组件,它是Activity的一部分,可以在Activity...

    fragment + fragmentTabHost实现底部菜单与自定义fragment管理

    7. 监听BottomNavigationView的选中事件,当选择不同菜单项时,使用FragmentManager的beginTransaction()方法切换Fragment。 在实际项目中,可能还需要考虑Fragment的生命周期管理、数据传递以及状态保存等问题。...

    使用hide来隐藏fragment防止重复加载

    然而,这种行为在某些情况下并不是最佳选择,特别是当Fragment的初始化过程复杂或者包含大量数据加载时,重复加载会导致不必要的资源消耗。 相反,通过使用`hide()`和`show()`方法,我们可以保持Fragment实例的存在...

    Fragment+FragmentTabHost实现仿新浪微博底部菜单栏效果(源码)

    而FragmentTabHost则将这些小窗口替换为Fragment,使得在各个标签页之间切换时,能够更加灵活地管理Fragment的生命周期。 实现步骤如下: 1. **创建Fragment的子类**:首先,为每个底部菜单项创建一个Fragment的...

    FragmentTabhost:Fragment+FragmentTabHost

    在Android开发中,`FragmentTabHost`是Google提供的一个组件,用于在Activity中实现标签页切换功能,并且每个标签页可以加载不同的`Fragment`。`FragmentTabHost`结合了`Fragment`的优势,使得UI设计更加灵活,同时...

    Fragment的页面切换

    可以通过在AndroidManifest.xml中为Activity设置`android:configChanges="orientation|screenSize"`来手动处理配置更改,避免重建Fragment。 8. **处理回退栈**:FragmentTransaction的`addToBackStack()`方法可以...

    Fragment实现tab实例

    在Fragment中使用FragmentTabHost,可以避免在Activity中直接处理多个Fragment的复杂性,使代码更易于维护。 实现FragmentTabHost的步骤如下: 1. **创建Fragment**:首先,你需要创建代表每个选项卡内容的...

    fragmenttabhost

    它结合了TabHost和Fragment的功能,使得在Android应用中实现多标签页切换并加载不同的Fragment内容变得更为简单。下面我们将深入探讨FragmentTabHost的相关知识点。 **1. TabHost与FragmentTabHost的区别** 在...

    FragmentTabHost的基本使用

    为了响应用户点击Tab时切换Fragment,我们还需要在`onTabChanged`方法中处理: ```java tabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() { @Override public void onTabChanged(String tabId...

    fragment+fragmenttabHost仿新浪微博底部菜单栏

    在Android应用开发中,"fragment+fragmenttabHost仿新浪微博底部菜单栏"是一个常见的设计模式,用于构建具有多个可切换视图的应用界面,类似于微博应用中的底部导航栏。这个设计允许用户在不同功能区域之间平滑地...

    FragmentTabHost动态加载TAB页签实现

    在Android应用开发中,UI设计往往需要展示多个可切换的视图,这时我们可以利用`TabHost`组件来创建带有标签页的应用界面。`TabHost`是Android提供的一个用于实现标签栏与内容区域交互的容器,它允许我们创建具有多个...

    Android两级导航菜单栏--FragmentTabHost嵌套FragmentTabHost的使用

    2. 为一级FragmentTabHost设置tab监听器,以便在切换tab时加载对应的Fragment。 3. 在一级Fragment中,为二级FragmentTabHost设置tab和对应的Fragment。这可以通过在onCreateView或onActivityCreated方法中完成。 4....

    FragmentTabhost

    尽管通常不需要手动处理Tab点击事件,因为FragmentTabHost会自动处理切换Fragment,但如果你想在切换时执行额外的操作,可以重写`onTabChanged()`方法。 5. **配置Fragment**: 在Fragment的`onCreateView()`或`...

    android中fragment实现tabhost标签切换效果

    为了在Tab切换时动态加载和切换Fragment,我们需要监听TabHost的`OnTabChangeListener`,并在切换时使用FragmentManager的`beginTransaction().replace()`方法替换当前显示的Fragment: ```java tabHost....

    (1)android标签切换界面(重用版)

    与传统的TabHost相比,FragmentTabHost可以直接管理Fragment的生命周期,使得在各个标签间切换时,Fragment的状态可以得到正确地保存和恢复。只需在TabHost上添加TabSpec,并指定对应的Fragment,就可以实现标签页的...

    FragmentTabHost的使用 (状态保存)

    FragmentTabHost是TabHost的子类,主要目的是在每个标签页中加载Fragment。首先,你需要在布局文件中添加一个FragmentTabHost,并设置其id为android.R.id.tabhost。然后,通过调用`setup()`方法初始化...

    FragmentTabHost.rar

    FragmentTabHost是Android开发中的一个组件,主要用于在同一个Activity中管理多个Fragment,并通过Tab进行切换。这个组件在处理复杂的UI布局和用户交互时非常有用,因为它允许你在不同的Tab之间分割应用的功能,提供...

    安卓FragmentTab选项卡相关-基于Fragment实现Tab的切换滑出侧边栏.zip

    而TabLayout则提供了更现代的选项卡样式,与ViewPager结合使用,可以在用户切换Tab时加载相应的Fragment。 项目中可能包含以下几个关键部分: 1. **MainActivity**:这是整个应用的入口点,通常负责设置和管理...

    FragmentTabhost实现android底部导航

    在Android应用开发中,底部导航(Bottom Navigation)是一种常见的用户界面设计模式,它...然而,`FragmentTabHost`仍然是一个很好的学习和理解Fragment与Tab交互的工具,对于理解Android UI组件的工作原理非常有帮助。

    安卓FragmentTab选项卡相关-Android实现ViewpagerFragment效果.rar

    在与Fragment结合使用时,ViewPager可以通过PagerAdapter或FragmentPagerAdapter(或者其子类FragmentStatePagerAdapter)来加载和管理Fragment,使得用户可以在不销毁其他页面的情况下平滑地在它们之间切换,从而...

Global site tag (gtag.js) - Google Analytics