切换Fragment时实现数据保持】的更多相关文章

摘要 Fragment设计初衷是为了简化不同屏幕分辨率的开发难度,他将代表一个功能的UI及其相关数据看做一个模块,以便达到复用.可以将Fragment看作是一个可以嵌入布局中的activity,有自己的生命周期. Fragment设计初衷是为了简化不同屏幕分辨率的开发难度,他将代表一个功能的UI及其相关数据看做一个模块,以便达到复用.可以将Fragment看作是一个可以嵌入布局中的activity,有自己的生命周期.比如我现在在手机上有activityA和activityB,但是在平板上有更大的…
http://www.tuicool.com/articles/FJ7VBb FragmentTabHost切换Fragment时避免UI重新加载 不过,初次实现时发现有个缺陷,每次FragmentTabHost切换fragment时会调用onCreateView()重绘UI. 解决方法,在fragment onCreateView 里缓存View: Java代码 收藏代码private View rootView;// 缓存Fragment view @Override public View…
解决切换Fragment时布局重新实例化 作者 instanceof 关注 2015.12.30 17:25* 字数 628 阅读 7616评论 17喜欢 23 关于Fragment 在这简单说一下Fragment,Fragment是Android 3.0以后才出现的,是为了适应不同的手机屏幕.平板和电视机的屏幕的.另外还有一个重要的原因,因为Activity的创建到销毁需要费时费内存,大量的Activity之间的跳转会造成堆栈饱满,引发程序崩溃或者无响应.为了解决这个问题,Fragment就产…
使用ViewPager切换Fragment,我原先使用系统自带的适配器FragmentPagerAdapter. 切换fragment时,频繁调用oncreatview(). 查看FragmentPagerAdapter的源码,发现两个关键的地方 @Override public Object instantiateItem(ViewGroup container, int position) { if (mCurTransaction == null) { mCurTransaction =…
我们在应用Web端的Tab控件时,不管是Jquery easyui的还是Ext的Tab控件都会遇到一个问题,在Tab1正在加载数据的时候我们切换到Tab2,再切换回来,Load数据的控件就会出错,出错的情况有很多种,我做过测试这种情况在Chrome下面没有,IE和Firefox都存在,界面如下: 报错的情况会有很多种,但是究其原因,都是由于在切换Tab1到Tab2的时候,实际上将Tab1的display设置成none了,但是多数控件(比如Hightcharts.Ext.Map控件)在Load数据…
FragmentTabHost这个控件每次切换Fragment,都会走Fragment的onCreateView和onDestroyView方法,多以每次切换都会创建和销毁Fragment实例,先来看一下FragmentTabHost的部分源码: @Nullable private FragmentTransaction doTabChanged(@Nullable String tag, @Nullable FragmentTransaction ft) { final TabInfo new…
使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态. 解决办法:在Fragment onCreateView方法中缓存View private View rootView;//缓存Fragment view @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bu…
使用FragmentTabHost时,Fragment之间切换时每次都会调用onCreateView方法,导致每次Fragment的布局都重绘,无法保持Fragment原有状态. 解决办法:在Fragment onCreateView方法中缓存View private View rootView;//缓存Fragment view @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bu…
大部分APP的主界面都很类似,要么底部导航的,要么就是侧滑菜单,还有底部导航+侧滑菜单的:底部导航实现大概有几种方式: TabHost+Fragment RadioGroup+Fragment FragmentTabHost+Fragment BottomNavigator+Fragment 今天说一下FragmentTabHost+Fragment实现方式(布局文件在最下面): 1.定义一个TabBean,存放每个tab: public class TabBean { private int…
1.一般说来,app底部导航都会设计为5个菜单,可以使用textView,也可使用radioButton,这里我选择用radioButton,给radioButton直接设置selector就可以实现背景变换. 2.接下来说说,fragment切换的实现方式.大家都知道切换fragment有两种方式: ① replace直接替换: fragmentManager.beginTransaction().replace(R.id.ll_container, fg_home).addToBackSta…
总结:无论是activity给fragment传递数据,还是fragment给activity传递数据,都把activity和fragment都当做一个普通的对象,调用它的方法,传递参数. 1.Fragment中通过getActivity()然后进行强制转化,调用Activity中的公有方法 ((XXXXActivity)getActivity()).fun(); 2.Activity在切换Fragment的时候,通过setArguments向Fragment传递参数,Fragment通过get…
以下内容为原创,转载请注明:http://www.cnblogs.com/tiantianbyconan/p/3364728.html 我前两天写过一篇博客<Android使用Fragment来实现TabHost的功能(解决切换Fragment状态不保存)以及各个Fragment之间的通信>(http://www.cnblogs.com/tiantianbyconan/p/3360938.html),实现了Tab切换时保留当前Fragment状态,并在切换前自动回调onPause()方法,在切…
1.Activity的生命周期 onCreate:创建时调用 onStart:在屏幕上可见,但是还没有获得焦点 onResume:可见并且获得焦点 onPause:可见,但是失去焦点 onStop:不可见 onDestroy:销毁时调用 手机内存不足时,会杀死之前启动的进程,按照LRU算法(最近最少使用)锁定杀死谁 2.Activity的启动模式,每个应用会有一个Activity任务栈,存放已启动的Activity Activity的启动模式,修改任务栈的排列情况 Activity task s…
http://blog.sina.com.cn/s/blog_673b30dd0100j4p4.html LTE中的切换,根据无线承载(Radio Bearer)的QoS要求的不同,可以分为无缝切换(Seamless handover)和无损切换(lossless handover). 无缝切换,应用于对于时间延迟有严格要求,而对误包率(丢包率)具有相对容忍度的一些应用(比如,语音 VoIP).无缝切换在LTE中可以降低切换的复杂度和时间延迟,但同时可能引起某些数据包的丢失.无缝切换主要应用于控…
自己经常使用的知识点,每次到要用的时候都还要再查一次才能懂得使用,终于体会到总结的必要性了. Activity传递数据给Fragment Bundle bundle_fragment=new Bundle (); String selecter=ClassList.get (position); bundle_fragment.putString (ClassTag, selecter); StudentFragment studentFragment = new StudentFragment…
#Android四大组件 * Activity * BroadCastReceiver * Service * ContentProvider #Activity生命周期 * oncreate:Activity对象创建完毕,但此时不可见 * onstart:Activity在屏幕可见,但是此时没有焦点(不能够点,不能够交互) * onResume:Activity在屏幕可见,并且获得焦点 * onPause:Activity此时在屏幕依然可见,但是已经没有焦点 * onStop:Activity…
转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 现在很多的App要么顶部带有tab,要么就底部带有tab.用户通过点击tab从而切换不同的页面(大部分情况时去切换fragment).本篇博客就通过简单的动态添加tab方式实现这个功能(当然最好的方式还是自定义控件来切换页面,就像微信那样). 在开始之前,让我们对原型看看效果图: 因为最终效果是动态添加底部tab,我这里只是给出了两个tab去切换对应的fragment.如果想继续添加更多,直接在对应代码处添加即可.在写到对应代码的…
一.问题描述 根据用户的操作,通过Ajax请求,获取某段时间内的某数据趋势折线图数据.用户切换数据项或更改时间段时,ie中渲染的折线图包含了上一次获取的数据,导致数据错乱,如下图所示: 二.代码 数据项1setOption代码: myChart3.setOption({ tooltip: { trigger: 'axis', formatter: _name + ':-' }, xAxis: [{ data: ["2016-12-15", "2016-12-31",…
最近在看深入了解java虚拟机第一版(周志明著),特此写读书笔记,整理其中重要的东西和自己的理解. ”java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙,墙外面的人想进去,墙里面的人却想出去” 这堵墙所说就是虚拟机,书中也提到了为什么要学习虚拟机: 对于Java程序员来说,在虚拟机的自动内存管理机制的帮助下,不在需要为每一个new的操作去写配对的delete/free代码而且不容易出现内存泄漏和内存溢出的问题,但是由于内存控制的权力全在交给了虚拟机,所以一旦出现内存泄漏和溢出方面…
场景:使用Fragment实现切页. 类结构: 一:Activity Activity中使用getSupportFragmentManager().beginTransaction()来填充一个Fragment(管理用的FragmentA) Activity部分代码: FragmentA fragment = FragmentA.newInstant(null); getSupportFragmentManager().beginTransaction().add(R.id.f_tab_frag…
在开发过程中遇到这样个问题: 利用bootstrap中的tab栏,每当点击tab栏的导航时,echats仅仅只渲染第一个tab的内容,切换tab时,echats图表不显示. 其html代码为: <div class="col-xs-6" style="padding:10px;"> <ul class="nav nav-tabs" id="myTab1"> <li><a href=&q…
Java虚拟机所管理的内存包括以下几个运行时的数据区域:方法区,堆,虚拟机栈,本地方法栈,程序计数器.下面对其进行介绍: 程序计数器 它是一块较小的内存空间,可以看做当前线程做执行的字节码的信号指示器,在虚拟机概念模型,字节码解释器工作时就是通过改变这个计数器的值来选取下一条需要执行的字节码指令. 由于Java虚拟机的多线程是通过线程轮流切换并分配处理器执行时间的方式来实现的,在任何一个确定的时刻,一个处理器都只会执行一条线程的指令.因此,为了线程切换后能恢复到正确的执行位置,每条线程都需要有一…
相信很多人都试过通过OleDB读取Excel文件,这种方法效率十分高,只是有一点会让人十分头痛,就是当一列中既有混合型数据,又有纯数据时,往往容易丢失数据. 百度过后,改连接字符串 “HDR=YES;IMEX=1”,再甚者改注册表,TypeGuessRows设置更大的数字或为0,然而丢失数据的问题始终解决不了. 在我试过多次后,发现其实采用ACE 引擎读取Excel文件比使用Jet引擎好很多, 首先说明一下Microsoft.Jet.OLEDB.4.0和Microsoft.ACE.OLEDB.1…
/**     * 嵌套fragment时必须要重写 onDetach()如下     */ @Override public void onDetach() { super.onDetach(); try { Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager"); childFragmentManager.setAccessible(true); childFragm…
原文:快速构建Windows 8风格应用28-临时应用数据 本篇博文主要介绍临时应用数据概览.如何构建临时应用数据. 一.临时应用数据概览 临时应用数据相当于网页中缓存,这些数据文件是不能够漫游的,并且随时可以删除. 通常系统为了维护任务可以随时删除掉这些临时应用数据,同时我们也可以通过“磁盘清理”将这些数据删除掉. 一般我们在应用中存储会话期间的临时信息,例如:QQ的聊天纪录等. 二.如何构建临时应用数据 1.声明临时存储对象 使用ApplicationData.TemporaryFolder…
Fragment是Android中的重要组件,在Android 3.0的时候添加进来. 关于Fragment的生命周期,我相信了解过的开发人员都应该把以下方法脱口而出:onAttach, onCreate, onCreateView, onViewCreated, onActivityCreated, onStart, onResume, onPause, onStop, onDestroyView, onDestroy, onDetach. 当Fragment以静态的方式,即通过在布局文件中以…
关于IMP由拥有DBA权限的用户EXP数据时,数据存放表空间的几种情况(IMP-00013) -1 ORACLE公司来培训BIEE,带了一个DEMO的DMP文件,其导出用户DBO具有DBA权限,缺省表空间是USERS.   我做导入时,另外创建了一个用户BIEE,其缺省表空间是TS_BIEE ,授予DBA权限,结果数据没有按预期导入到表空间TS_BIEE中,而是导入到了表空间USERS中,当然这是因为忘了revoke unlimited tablespace 的权限造成的.   对IMP 由拥有…
问题起因: 在进行ijkplayer播放器的测试时,发现ijkplayer播放器在切换网络时出现直播画面停止的问题. 问题分析: 抓取日志发现:tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0) 问题解决: 重写OnErrorListener的onError方法,然后判断what = -10000的时候,触发重置播放器的操作 参考内容 ijkplayer_android_def.h : // Generic error cod…
最近再写页面的时候,感觉页面之间的切换有点生硬,所以查了一下文档看见了transition这个组建,很实用,故此在这里跟大家分享一下 --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- 1.解决这个问题的…
问题起因: 在进行ijkplayer播放器的测试时,发现ijkplayer播放器在切换网络时出现直播画面停止的问题. 问题分析: 抓取日志发现:tv.danmaku.ijk.media.player.IjkMediaPlayer: Error (-10000,0) 问题解决: 重写OnErrorListener的onError方法,然后判断what = -10000的时候,触发重置播放器的操作 参考内容 ijkplayer_android_def.h : // Generic error cod…