随记
2015-1-4:
1. 对于ListView列表项,其高度默认是由子布局内容填充决定的,无法通过android:layout_height设置。但是可以通过android:minHeight进行设置。
list_view_item.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="@dimen/item_height" android:minHeight="@dimen/item_height" > </RelativeLayout>
2015-1-6
1. ListView.getCount()和ListView.getChildCount()
ListView.getCount()(实际上是 AdapterView.getCount()) 返回的是其 Adapter.getCount() 返回的值。也就是“所包含的 Item 总个数”。(包括headerView和footerView)
ListView.getChildCount()(ViewGroup.getChildCount) 返回的是显示层面上(可见)的“所包含的子 View 个数”(其他Item项未创建/重用)。
二者有什么不同?
当 ListView 中的 Item 比较少无需滚动即可全部显示时,二者是等价的;
当 Item 个数较多需要滚动才能浏览全部的话, getChildCount() < getCount() 其中 getChildCount() 返回的是当前可见的 Item 个数。
其实 Android framework 的这一设计并不难理解:当一些 Item 当前不显示的时候为什么还要保留它们的 View 呢?移动设备的资源有限,“能省则省”嘛。
Via: http://blog.csdn.net/uoyevoli/article/details/4906214
2015-1-7
1. shell交互里的输入密码隐藏输出
#! /bin/bash read -s content echo $content
2015-1-22
1. ibus五笔的一些快捷键:
左shift:中英文切换
shift+空格:全角半角切换
Ctrl+;:简体繁体切换
Ctrl+,:切换单字(词组)模式
Ctrl+.:切换中英文标点
Ctrl+/:切换直接提交模式
2015-1-27
1. 支持多表连接,例如:
select * from student,class
where student.cid=class.id;
2. 支持左外连接(left outer join),例如:
select * from foods
left outer join food_types
on foods.id=food_types.food_id
3. 不支持右外连接和全连接。
2015-2-2
一. 在使用 SharedPreferences的时候,官方建议是使用apply()方法,而不是使用commit()方法进行提交。commit()方法会在UI线程执行,有时候会阻塞UI线程;而apply()方法是异步提交的。
1. apply没有返回值而commit返回boolean表明修改是否提交成功
2. apply是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而commit是同步的提交到硬件磁盘,因此,在多个并发的提交commit的时候,他们会等待正在处理的commit保存到磁盘后在操作,从而降低了效 率。而apply只是原子的提交到内容,后面有调用apply的函数的将会直接覆盖前面的内存数据,这样从一定程度上提高了很多 效率。
3. apply方法不会提示任何失败的提示。
建议: