自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 安卓Listview隐藏列的实现

以上实现后,已经隐藏了标题和列表了,但是,标题每次变更后经常会保留一片空白,感觉就是一个安卓的bug,因为我明明设置了wrapcontent和view.gone的,但是安卓在重新绘制的时候就是不重新计算标题的宽高,导致我滚动标题的时候,发现列表和标题对不齐。解决办法就是在设置标题的View.GONE后,同时设置其宽高为0,强制其重新计算宽高。笔者在安卓也是个小白,站在巨人的肩膀上实现了一个Listview,但因为列过多,需要对某些列可以隐藏,于是研究了一下,发现资料比较少,所以有了这篇文章记录一下。

2024-06-11 17:08:44 312

原创 原码-反码-补码-按位取反的差异

N-1位bit所有bit=1时+1 会进位,第N位=1,其他位是0.即2^n = 1+(2^0+2^1+2^2+...2^(n-1))原码、反码、补码是一种概念,计算机都是采用补码表示存储数据的,原码是早期用来表示数字的一种方式,可以理解为方便人去识别数字大小的一个东西,(总之,原码其实也不是真实存在的)。一直没有说这个,因为说原码、反码、补码是没这个概念的,但是如果你后面接触编程语言的“~”,可能会把反码和按位取反弄混。其实就是最高位的处理,取反码的时候,负数最高位是不变的,恒定为1.

2023-12-19 15:55:32 58

原创 java switch-case可匹配字符串以及过滤null

看到java的switch支持字符串的时候,还是有点“震惊"的,再看看在这方面摆烂毫无作为的C,C++;你看看人家,在便民这方面做的多好;我只想知道现在转行还来得及吗?这个例子同时测试了for对数组的特殊用法和switc对字符串的支持。然后偶然发现,字符串是null的时候,java会抛出异常的。然后运行,哈这次果然可以了,这样就不用考虑传给switch之前要先判断字符串是否是null的问题啦。这个与java检测字符串是用字符串的equal()方法有关,咱不深究。最近学习java,记录一下。

2023-12-19 14:46:26 243

原创 100个囚徒100个箱子困境的解析

我们假设存在100个编号从1到100的囚犯,我们把包含每个人号码的纸条随机放置在一个密闭房间的100个盒子中,每次只准进入一个囚犯,他可以打开100个盒子中的任意50个寻找号码,之后必须原封不动的出去,并且不能和其他人交流。假设你是其中一名囚犯(假设编号是50),当你进入房间时,打开编号是你号码的盒子(即50号盒子),里面的纸条上的号码可能不是你的(假设是99),但这没关系,转到99号盒子,看看里面的号码(69),然后转到69号盒子,依此类推。然后剩下的n个组成循环,n个循环的组合数(n!

2023-09-20 10:57:27 472

原创 关于波特率的一次碰壁经历

最近做了一个通过串口给stm32烧写程序的小项目,目的很简单,通过支持多种波特率9600、115200、25600、460800,来实现对其升级程序。最终460800在传输文件包数是2048byte/每帧时速度达到满意的10s以内。于是很开心的发布了。2天之内,下面测试人员反馈,用9600波特率升级失败。 多次测试发现是9600发输文件包数是2048byte/每帧才必出,然后果断调到512byte/每帧。果然没出了,我怀疑是9600传输速度太慢了,但是没证据。于是用监视串口的工具看,发...

2020-09-03 13:45:50 2427

原创 算法笔记摘抄

1、算法的特征:输入输出、有穷性、确定、可行。算法可以没有输入,但是一定有输出。有穷性:算法在执行有限的步骤之后,自动结束不会出现无限循环,并且每个步骤在一个可接受的时间内完成。不是数学意义上的有穷,而是实际应用中合理的、可接受的边界。确定:指算法的每个步骤都有确定的含义,不会出现二义性。相同的输入只能有唯一的输出结果。可行:算法的每个步骤都是可行的,也就是说,每一步都可通过执行有限的次数完成。2、算法的设计要求:可读、正确、健壮、执行效率高存储少。正确:算法的输入输出、加工处理无歧

2020-08-11 18:41:45 190

原创 C++ map(不影响map结构)按照插入顺序排序

我用的是qt,但是这里用的方法qmap却不支持,挺郁闷的。 看到java有现成的linkedhashmap使用,更郁闷。 做项目的时候,从数据库搜索了几万条数据,需要对每条数据处理,然后把处理结果显示。开始用的qmap,map的键值对是地址-其他信息,很快捷方便。但是看显示结果的时候发现,qmap自动排序了,我显示的有时间,但是这里却把地址排序。所以我想实现按照时间排序。 一开始的思路是对qmap或map本身动手脚,但是各处搜索,发现几个思路。 1.重载map的构造函......

2020-08-07 18:36:23 7218 2

原创 if 下与 或执行与否

在写代码的时候,有个形如: Qlist<int> list的链表,由于对它为空以及非空但是满足某条件的情形都需要新增子项,所以考虑到用下面的用法:int count = list.size;if(count == 0 || (count >0 && list.at(0) == xx)){.....}但是有个疑问,if会执行到后面的list.at(0)吗,如果执行到这儿,岂不是段错误。抱着试试的心态,测试了下,发现居然没问题。似乎是说明编译器不执行后面

2020-08-03 10:27:25 247

原创 CRC校验概念理解

上一篇讲了CRC校验中的模2除算法。这次讲CRC校验原理和一些基础概念。百度百科:循环冗余校验码(CRC)的基本原理是:在K位信息码后再拼接R位的校验码,整个编码长度为N位,因此,这种编码也叫(N,K)码。对于一个给定的(N,K)码,可以证明存在一个最高次幂为N-K=R的多项式G(x)。根据G(x)可以生成K位信息的校验码,而G(x)叫做这个CRC码的生成多项式。 校验码的具体生成过程为:假设...

2019-12-13 10:20:47 398

原创 模2除算法

串口通讯常用的CRC校验算法,对其算法一直不是很懂。其中一个很重要的概念---模2除算法,对于理解crc校验很有帮助。模2除并不是除法,但有一点类似。普通除法不够除需向前借位。但模2除不借位,实际上模2除,对能除的概念和除法的概念也不一样。模2除的可除是指被除数最高位非0,且与除数个数相同。比如:101011----------------------被除数1100----------...

2019-12-13 09:38:41 779

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除