今天领导提个需求,要求在金额上强制保留两位小数,本想着后台直接返回数据时,带着两位的小数,前端只是做个显示作用,后台说保留了小数但在传输过程中去掉了,可能他们做了格式转化。...没办法了只能又是我们前端操作了,牵扯价钱的太多了,很多时候又有for 循环,怎么办呢? 思路:{{}}里面的是一个表达式,可不可以是个函数呢?...经测试是可以的,具体实现方法如下: 写一个公共的强制保留两位小数的js方法 function toDecimal2 (x) { var f = parseFloat(x) if (isNaN(f....' } while (s.length <= rs + 2) { s += '0' } return s } export default { toDecimal2 } 在main.js
()、replace()方法将碎片从从活动中移除,但如果在事务提交之前调用addToBackStack()方法,这时的碎片也会进入到停止状态。...或者调用FragmentTransaction的remove()、replace()方法将碎片从活动中移除,但在事务提交之前并没有调用addToBackStack()方法,碎片也会进入到销毁状态。...,实际上是remove()然后add()的合体 transaction.hide():隐藏当前Fragment,仅不可见,不会销毁 transaction.show():显示之前隐藏的Fragment...commit方法一定要在Activity.onSaveInstance()之前调用 commit()操作是异步的,内部通过mManager.enqueueAction()加入处理队列。...由于onSaveInstanceState()在onPause()之后,onStop()之前调用。
onCreateView() 系统会在片段首次绘制其界面时调用此方法。如要为片段绘制界面,从此方法中返回的 View 必须是片段布局的根视图。如果片段未提供界面,可以返回 null。...onPause() 系统会将此方法作为用户离开片段的第一个信号(但并不总是意味着此片段会被销毁)进行调用。通常,应在此方法内确认在当前用户会话结束后仍然有效的任何更改(因为用户可能不会返回)。...如要为片段提供布局,必须实现 onCreateView() 回调方法,Android 系统会在片段需要绘制其布局时调用该方法。此方法的实现所返回的 View 必须是片段布局的根视图。...可以通过两种方式向 Activity 布局添加片段(以下为代码片段,并非完整代码)。 静态方式 在 Activity 的布局文件内声明片段。 在本例中,您可以将片段当作视图来为其指定布局属性。...Fragment生命周期 onAttach(Contextcontext):在 Fragment 和 Activity 关联上的时候调用,且仅调用一次。
其他的都不介绍了,跟activity一样,看一下不一样的那几个吧: onAttach():当Activity和Fragment交互的时候,我们可以在Activity中通过Fragment.setArguments...()的方法为Fragment提供数据,然后再Fragment的onAttach()方法中getArguments()获得一个Bundle对象。...onCreateView():创建该Fragment对应的视图,在这里你必须将创建的视图返回诶调用者。...onActivityCreated() 当Activity的onCreate()方法调用时,该方法被调用 onDetach() 当Fragment和Activity解除关联时调用该方法。...replace显示的话会调用Fragment的生命周期,也就是说它会销毁视图,重新加载,这种方式的话如果你的Fragment里面有大量的数据或者说很多视图结构的话不推荐使用这种,会增大你的内存消耗。
onAttach(): 一旦片段与其活动相关联就被调用; onCreate(): 片段被调用创建; onCreateView(): 创建并返回相关的视图结构; onActivityCreated(...接口 在生成的onClick()方法中加上导航栏区域的响应 别忘了在initView()中添加监听器 图片 然后通过我之前写的插件自动生成三个Fragemnt ,就可以了不用管生成的Fragement_...静态: 图片 动态: 动态加载步骤: 创建添加的Fragment实例; 获取FragmentManager,调用getFragmentManager()方法; 开启事务,调用beginTransaction...()方法; replace(); 调用commit()方法提交。...MyFragment myFragment = getFragmentManager().findFragmentById(R.id.fragment); 接着通过调用getActivity()方法来获取当前片段和相关联的活动实例
第二步,beginTransaction.add(),add()方法,容器视图资源Id。...第三步,调用addToBackStack(true)方法,目的为了允许用户通过按下返回按键返回到前一个Fragment状态,beginTransaction.commit()提交。...图片来源官方: 生命周期 onAttach(): 一旦片段与其活动相关联就被调用; onCreate(): 片段被调用创建; onCreateView(): 创建并返回相关的视图结构; onActivityCreated...(): 表示活动已被创建完成了,这里是activity创建成功; onStart(): 片段对用户可见; onResume(): 片段与用户开始交互; onPause(): 片段与用户不再交互;...replace()为FragmentManager的方法。
、隐藏、移除 等操作 Fragment 动作,事务保证了原子性 主要方法 transaction.add() 向 Activity 中添加 Fragment,只是添加 Fragment,不影响之前 Fragment...transaction.replace() 使用 Fragment 替换当前,相当于先移除之前的 Fragment(remove()) 然后再 add() transaction.hide() 隐藏当前...不会销毁 transaction.show() 显示之前隐藏的 Fragment detach() 会将 view 从 UI 中移除。...,只是调用 hidden 的时候会调用而已。...例子3 在例子1的基础上,在添加 FragmentTwo 中添加方法 tvAdd.setOnClickListener((view1) -> { Log.e("add", "add");
第二步,beginTransaction.add(),add()方法,容器视图资源Id。...第三步,调用addToBackStack(true)方法,目的为了允许用户通过按下返回按键返回到前一个Fragment状态,beginTransaction.commit()提交。...onAttach(): 一旦片段与其活动相关联就被调用; onCreate(): 片段被调用创建; onCreateView(): 创建并返回相关的视图结构; onActivityCreated(...): 表示活动已被创建完成了,这里是activity创建成功; onStart(): 片段对用户可见; onResume(): 片段与用户开始交互; onPause(): 片段与用户不再交互;...1.replace()为FragmentManager的方法。
Android开发中Fragment主要用来提供更灵活的界面构造形式,顾名思义,英语中fragment一词就是片段的意思。...我们可以创建一个扩展自Fragment的类,在重载的onCreateView方法中填充xml定义的布局,然后在其容器Activity所使用的xml布局文件中,像引入其它视图组件一样对其进行引入。...在作为容器的Activity代码中使用FragmentManager可以获取到对这个Fragment的引用。...,同时在Fragment类中定义该接口类型的一个成员,在重载的onAttach中获取容器activity引用,赋值给该成员。...这样当触发了Fragment中的某个组件的事件时,就能调用该接口的方法,实现Fragment向容器Activity传递消息和数据了。
的UI视图。...如果想要立即执行,可以在 commit之后立即调用 FragmentManager的 executePendingTransactions()方法。...详细解释如下: onAttach(): Fragment和 Activity相关联时调用。可以通过该方法获取 Activity引用,还可以通过 getArguments()获取参数。...onDestroyView():当 Fragment的UI从视图结构中移除时调用。 onDestroy():销毁 Fragment时调用。...类比 Activity的生命周期和上图,可以在 Activity和 Fragment中分别重写各个生命周期的方法,通过打印日志的方式,更好的去理解生命周期的调用,这里就不再进行阐述。
我们就按照脑图的顺序一样样来看Fragment的基础知识。 ---- 正文: 1.Fragment的添加 ? 我们知道Fragment是一个"碎片(或者片段)",添加在Activity中。...帮你保存当前Activity的状态、数据等,直到再回到该Activity之前(onResume()之前),你执行Fragment事务,就会抛出该异常。...如果想要立即执行,可以在commit之后立即调用FragmentManager的executePendingTransactions()方法. 2. commit()方法必须在状态存储之前调用,否则会抛出异常...'高版本后,都是回调这个方法' @Override public void onAttach(Context context) { super.onAttach(context...,原先的Fragment的字段值将会全部丢失(因为当切换横竖屏时,Fragment会调用自己的无参构造函数,那么在构造函数传参就会失效),但是通过 Fragment.setArguments(Bundle
帮你保存当前Activity的状态、数据等,直到再回到该Activity之前(onResume()之前),你执行Fragment事务,就会抛出该异常。...如果想要立即执行,可以在commit之后立即调用FragmentManager的executePendingTransactions()方法. 2. commit()方法必须在状态存储之前调用,否则会抛出异常...这是因为这个方法在FragmentManager里面。...'高版本后,都是回调这个方法' @Override public void onAttach(Context context) { super.onAttach(context...,原先的Fragment的字段值将会全部丢失(因为当切换横竖屏时,Fragment会调用自己的无参构造函数,那么在构造函数传参就会失效),但是通过 Fragment.setArguments(Bundle
Fragment的生命周期 Fragment的生命周期参照Activity(参见《Android开发笔记(三十九)Activity的生命周期》),同时多出了几个方法,具体说明如下: onAttach...: 关联Fragment与Activity,在onCreate之前调用。...可在该方法实例化Activity的一个回调对象,就能在Fragment中调用Activity的回调方法,这样设计的好处是Activity无需调用set***Listener方法来设置监听器接口。...onCreateView : 创建Fragment的视图,在onCreate之后调用。...onDestroyView : 结束Fragment的视图,在onDestroy之前调用。 onDetach : 取消关联Fragment与Activity,在onDestroy之后调用。
,并且只调用一次 @Override public void onAttach(Activity activity){ super.onAttach(activity); } //创建Fragment...); } //每次创建回调 @Override public View onCreateView(## ##){ } //当Fragment所在的Activity启动完成后调用 @Override public...getActivity()的方法获取Activity的; Activity是通过调用FragmentManager的findFramentById()的,也可以用findFragmentByTag()方法获取...Fragment片段的。...(Activity activity){ myvoid = activity; super.onAttach(activity); } 回到Activity 覆盖方法 另类 xml <?
在很多应用场景中,我们需要监听到 fragment 的显示与隐藏,来进行一些操作。比如,统计页面的停留时长,页面隐藏的时候停止播放视频。...(boolean isVisibleToUser) 有一点需要注意的是,个方法可能先于Fragment的生命周期被调用(在FragmentPagerAdapter中,在Fragment被add之前这个方法就被调用了...,setUserVisibleHint 方法将不再被调用,他会确保 onResume 的正确调用时机 当 behavior 为 BEHAVIOR_SET_USER_VISIBLE_HINT,跟之前的方式是一致的...,宿主 Fragment 生命周期发生变化的时候,遍历子 Fragment,调用相应的方法,通知生命周期发生变化 //当自己的显示隐藏状态改变时,调用这个方法通知子Fragment private void...case,因为这时候不会调用 setUserVisibleHint 方法,在 onResume check 可以兼容 * 2.
每当我们换工作面试之前,总是会不由自主的刷起面试题,大部分题我们反反复复不知道刷了多少遍,但是今天记住了,等下一次面试的时候又刷着相同的面试题,我就想问在座的各位,Activity的生命周期,你们到底刷过多少遍...其实这部分才是人们最容易搞混和记不住的地方 那咱们来分析一下: Fragment比Activity多了几个生命周期的回调方法 onAttach(Activity) 当Fragment与Activity发生关联的时候调用...onDestroyView() 与onCreateView方法相对应,当该Fragment的视图被移除时调用 onDetach() 与onAttach方法相对应,当Fragment与Activity取消关联时调用...PS:注意:除了onCreateView,其他的所有方法如果你重写了,必须调用父类对于该方法的实现 这些方法理解起来并不费劲 但是要完美记在脑子里 还是需要花上一番功夫的 那咱们一个一个来 先从创建开始...: 1.首先 onAttach方法: 和Activity进行关联的时候调用 这个放在第一个 应该好理解 2.我们知道 Activity在onCreate方法中需要调用setContentVIew()进行布局的加载
3、如果你需要在Fragment中用到宿主Activity对象,建议在你的基类Fragment定义一个Activity的全局变量,在onAttach中初始化,这不是最好的解决办法,但这可以有效避免一些意外...()最终是让Fragment的View.setVisibility(true还是false),不会调用生命周期; replace()的话会销毁视图,即调用onDestoryView、onCreateView...)等生命周期方法,而新的Fragment在创建时是不会回调onHiddenChanged(),这点要切记。...BUG; 如果你在使用小于24.0.0以下的v4包,可以参考9行代码让你App内的Fragment对重叠说再见。...),又或者你保证在Fragment转场动画的情况下,使用pop(tag\id)从栈内退出多个Fragment,或者你甚至想Fragment有一个类似Activity的SingleTask启动模式,那么你可以参考下一篇
获取之前创建的Fragment。...所以当Activity执行onCreate方法时,会调用Fragment的: onAttach----> onCreate----> onCreateView---->onActivityCreated...另外在Activity重创建时候,Fragment的onAttach和onCreate方法会先于Activity的onCreate方法执行。...,我用的是show().hide()方法来控制Fragment的显示隐藏。...其他建议 在Fragment中不建议使用getActivity()获取Activity,而是在onAttach()方法中通过其参数获取。
Fragment(碎片) 拥有生命周期,含有视图,可视可交互的界面 。...当视图创建完成 onActivityCreated( Bundle savedInstanceState) |--- 与Fragment绑定的Activity的onCreate方法已经执行完成并返回...Fragment-->Activity 点击Fragment内的View,Fragment将颜色值传给Activity ?...= s } ---->[在BoxFragment#onViewCreated获取宿主对象并调用方法]----------- txt.setOnClickListener(v -> {//这里强转最好加个...* @param position 翻页后的视图在集合中位置 */ @Override public void onPageSelected(int position
领取专属 10元无门槛券
手把手带您无忧上云