原因: 页面切换时RecyclerView获得了焦点,RecyclerView的 focusableOnTouchMode属性默认是true,所以页面切换时RecyclerView自动获得焦点就滚动到头部...解决: 将RecyclerView的父控件的设置android:focusableInTouchMode="true" 。
本文原创公众号:不会笑青年,授权转载请联系微信(laughyouth369),授权后,请在原创发表48小时后再转载。
比如, JSON的value值为null时,key会直接没了? value为Date类型时,JSON.toJSONString打印出来的是时间戳,取出来的却是Date?等。...-- key1:null json -- key2:null json -- key1str:null 可见, 1.JSONObject的value对以格式date存放的数据,toJSONString时显示为时间戳...; 2.如果value为null时,key将直接被取消,get到null值; 所以我们在开发过程中,往JSONObject中赋值时,一定要先判断该值是否为null,及时处理。
当我们开发处理Excel文件时,Apache POI 是许多人首选的工具。但是,随着需求的增加、工程复杂,在打开复杂的Excel文件的时候可能会出现一些异常情况。...根据测试,当打开50万个单元格数据的时候,就会遇到OOM(OutOfMemory)的问题;或者当打开包含有20万个合并单元格(包含border或者背景色)的时候,也会遇到OOM(OutOfMemory)...第一个办法,对于仅导入数据时很有效。但当Excel是有样式的情况时,把Excel转成CSV就会导致样式丢失,所以pass了这个方法。...经过一些尝试,发现是同一时间构建的workbook太多了,当减少到4个时,单元测试就可以正常跑完。 这样来看,POI的问题还真是让人挺头疼。...此外根据测试来看,workbook的数量,可能是跟Excel文件的大小相关,这会导致后续开发时可能会遇到更多的问题。
今天在mbatis中使用Xml配置sql语句时,出现了这样一个问题。当我传入的参数为0去做判断时,mybatis会把参数0当成是空字符串去判断而引起查询结果错误。...= ''"> and status =#{status } 这样写,当status =0时,mybatis将不会插入改字段,因为mybatis框架会将status 识别为空字符串, 所以如果想要将...0值插入进去,有一下几种方法解决: 1.直接改框架源代码 2.更改if判断条件如下所示 解决方式1: 当传入的参数有0时,只判断!
在使用vivo外销联运支付SDK继承指导文档的时候,会发现文档中有很多类似{EMBED Visio.Drawing}。怎么解决?
该图像包含阈值,当越过该阈值时,会产生FORMA警报。这些值等于max(25,40%*RegionalMax),其中RegionalMax是这个生态组中一个像素的历史最大清除量。
随便看看各种UI实现的代码 本文涉及到的相关代码已经上传到 https://github.com/r17171709/android_demo/tree/master/WeixinEditText 打开你的微信朋友圈...输入框的产生 这里有一个关键的地方,如何将EditText悬浮在键盘上,并且RecyclerView不会被挤上去。这里我们可以使用Dialog,同时在布局中要使用ScrollView来进行占位 <?...图中红色部分为键盘展现之前某条信息评论区所在位置;蓝色部分为键盘,当键盘打开的时候,我们需要将红色的部分移动到黄色的位置。...但是还有几个小问题,如果是点击最后一行的话,会因为滚动空间不足而不能实现相同的效果,并且按返回键的时候,键盘先消失,然后再按一次之后Dialog才消失。...针对第一个问题,我们直接添加一个空View作为列表最后一项即可,并且高度要等于输入框的高度;第二个问题也很简单,就是监听键盘弹出与隐藏时View高度发生的变化 data class BottomClass
Database1\xxx.xxx\" 如果你在不同的安装文件夾升级到 Navicat 版本 9,例如:\"C:\Program Files\PremiumSoft\Navicat for MySQL\",当
当item被拖拽或侧滑时触发 03.简单实现思路 几个方法中代码思路 要想达到上面功能需求,在getMovementFlags方法中,当用户拖拽或者滑动Item的时候需要我们告诉系统滑动或者拖拽的方向,...左右滑出屏幕时其他item补上 只要在item滑出屏幕时,将对应的数据删掉,再调用RecyclerView的notifyItemRemoved()方法刷新布局即可。...04.拖拽效果上优化 拖拽效果优化 在item被拖拽或侧滑时修改背景色,当动作结束后将背景色恢复回来,而ItemTouchHelper.Callback中正好有对应这两个状态的方法,分别是:onSelectedChanged...左右滑动使item透明度变浅且缩小该如何实现呢?...itemView而已,当那两个透明缩小的itemView被再次使用时,之前设置的透明度和高度比例已经是0,所以就出现了这种情况,解决方法也很简单,只要在item被移除后,将itemView的透明度和高度比例设置回来即可
如果要我们自己实现的话,思路应该不难,就是写个放大、缩小动画,然后在卡位获得焦点时应用放大动画,失去焦点时应用缩小动画,所以关键点只是在于如何进行封装。...那么,我们这次阅读源码的目的就是要搞清楚:卡位获得焦点时放大、缩小动画是如何实现的? 阅读源码时经常会碰到一个问题,那就是该从哪入手,从哪开始看?...那么,再来想想,既然是要实现卡位获得焦点和失去焦点时放大和缩小动画,那么肯定是需要监听 ItemView 的焦点变化,对吧?...OnItemFocused.png 所以,在 ItemBridgeAdapter 里注册了焦点变化监听,当焦点变化时,通知 mFcousHightlight 执行 onItemFocused() 方法...View 要创建时,会注册一个焦点监听器,该行里的 ItemView 焦点发生变化时会从 ItemViwe 的 Tag 里取出缩放动画对象,如果没有则 new 一个,然后应用缩放动画。
原因:由于当表单只有一个文本框时,按下回车将会触发表单的提交事件, 从而导致页面刷新。
Ctrl+L 当布局为活动视图时,锁定或解锁在内容窗格中选择的项目。 Ctrl+Shift+L 当布局为活动视图时,请在内容窗格中锁定或解锁该级别上的所有项目。...X + 拖动 缩小。 按住并拖动光标。松开指针会进行缩小。 Z + 拖动 放大或缩小。 放大或缩小视图。 T 显示折点。 绘制新线时,按住可在指针附近显示现有要素的折点。 空格键 捕捉。...空格键 打开和关闭捕捉。 按住空格键,会暂时关闭捕捉功能。创建手绘折线或面要素时,暂时打开捕捉功能。 创建弧线段 用于弧线段构造工具的键盘快捷键 键盘快捷键 操作 注释 R 指定半径。...模式 用于模型的键盘快捷键 键盘快捷键 操作 Ctrl+N 当模型视图处于活动状态时,创建一个新模型。 Ctrl+S 保存活动模型。 Ctrl+Shift+S 使用其他名称和位置保存活动模型。...T 打开或关闭地形跟踪。 在平移立体影像对时,地形跟踪会自动将立体光标保持在高程表面上。此功能在导航立体显示时非常有用。
stateUnchanged 当主窗口出现在前面时,软键盘被保持它上次是什么状态,无论上次是可见或隐藏。...stateHidden 当用户选择该Activity时,软键盘被隐藏——也就是说,当用户确定导航到该Activity时,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个...stateAlwaysHidden 当该Activity主窗口获取焦点时,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...stateVisible 当用户导航到Activity主窗口时,软键盘是可见的。不过当用户离开一个Activity而导致另一个被覆盖的Activity显示出来时,软键盘会使用默认的设置。...stateAlwaysVisible 当该Activity主窗口获取焦点时,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。
1.数据错乱 最近在开发一个基于RecycelrView的编辑器, Recyclerview中包含Edittext在滚动时会发生数据混乱的问题,之所以数据混乱就是因为Recyclerview的复用导致的...关于RecyclerView嵌套EditText,唤起键盘时被遮挡 修改前: 修改后: window.decorView.viewTreeObserver.addOnGlobalLayoutListener...(rect) // 计算出剩余高度: 除了状态栏高度、topBar高度、bottomBar高度、键盘高度的剩余高度 var invisibleHeight...= binding.recyclerView.layoutManager?....(0, differ) } } } 参考文章来源于: 解决EditText被软盘遮挡和键盘弹出布局不上移 关于RecyclerView
当一个Item滑出可视区域时,它会先被放入mCachedViews中;而当一个Item滑入可视区域时,Recycler也会优先去mCachedViews中查找。...根据这个特性,当用户频繁地上下滑动时,mCachedViews的利用率会较高。...试想一个能在可视区域展示n(n>>5)条数据的RecyclerView(如历史记录),当滑动的时候RecyclerPool的缓存明显不够,会不断地创建ViewHolder,很消耗性能。...当为ItemView设置点击监听时,不要在onBindViewHolder()中新建OnClickListener,这不仅会新建多余的对象消耗内存,也会增加onBindViewHolder()的耗时。...④ measure()优化和减少requestLayout()调用 当RecyclerView宽高的测量模式都是EXACTLY时,onMeasure()方法不需要执行dispatchLayoutStep1
:28.0.0’ 一个是ViewPager所在包,另一个是RecyclerView所在包 RecyclerView实现GalleryView效果可(伪无限)无限左滑右滑 先上效果图 要点: 在有限的数据里面...adapter) { super.setAdapter(adapter); scrollToPosition(getAdapter().getItemRawCount() * 10000);//开始时的偏移量...) scrollToPositionWithOffset(position,0) smoothScrollToPosition 其实可以理解成一个模拟的滑动操作,会回调那个滑动监听的回调方法,有滑动效果...item.setPivotY(item.getHeight() / 2.0f); float scale = 1 – 0.433f * Math.abs(fraction); // 0.433f是放大的View面积和缩小的...的回收机制了 在有限的数据,实现循环 在 ViewPager 的首尾多添加一个 View,监听 ViewPager 滚动事件,当滑到边界时,设置当前 position 为中间的某个 item,不过这种方式容易出现页面闪动导致滑动不连贯
设置成 RecyclerView.VERTICAL 或 RecyclerView.HORIZONTAL. ③ boolean reverseLayout : 当设置成 true 时, 布局会翻转, 从尾部开始头部结束...当方向是 RecyclerView.VERTICAL 垂直方向时 , 网格元素排列顺序是逐行排列 , 先将第一行排满 , 然后将第二行排满 , int spanCount 参数设置的是每行的元素个数 ;...( 现代人写字顺序 ) 当方向是 RecyclerView.HORIZONTAL 水平方向时 , 网格元素排列顺序是逐列排列 , 先将第一列排满 , 然后将第二列排满 , int spanCount...* @param reverseLayout 当设置成 true 时, 布局会翻转, 从尾部开始头部结束. */ public GridLayoutManager(Context.../download/han1202012/14945904 ( 使用 Android Studio 打开 )
说到这的时候很多人好奇为什么监听SlideRecyclerView滑动处理没有打开外层的RecyclerView代码呢。这里打开外层的RecyclerView滑动需要放在ontouch里面处理。...因为在SlideRecyclerView滑动监听里面是无法监听到如果滑动到顶部时继续往下滑和滑动到底部时继续往上滑的操作,因此这里就通过ontouch的坐标该变量来是否打开外层的RecyclerView...滑动,何时打开滑动。...原则是当item滑动到顶部时,若再继续往上滑禁掉外层RecyclerView滑动,若再继续往下滑打开外层RecyclerView滑动;当item滑动到中间某一个位置时,此时不管再继续往上滑还是往下滑都是禁掉外层...RecyclerView滑动;当item滑动到底部时,若再继续往上滑打开外层RecyclerView滑动,若再继续往下滑禁掉外层RecyclerView滑动。
当调用notifyDataSetChanged()方法时,ViewHolder会进入上面的一级缓存mAttachedScrap中,而不是进入缓存池pool中,这样的好处:1)不会存在缓存池pool满的问题...这个机制会导致一个问题,启动应用之后,在屏幕可见范围内,如果只有一张卡片可见,当滚动的时 候,RecyclerView找不到可以重用的view了,它将创建一个新的,因此在滑动到第二个feed的时候就会有一定的延时...通过setDrawingCacheEnabled把cache打开,再调用getDrawingCache就可以获得view的cache图片,如果cache没有建立,系统会自动调用buildDrawingCache...移出屏幕的ViewHolder会先进入第一级缓存ViewCache中,当第一级缓存空间已满时,会考虑将一级缓存中已有的ViewHolder移到RecyclerViewPool中去。...(true),是支持嵌套滚动的,也就是说当它嵌套在NestedScrollView中时,默认会随着NestedScrollView滚动而滚动,放弃了自己的滚动。
领取专属 10元无门槛券
手把手带您无忧上云