1,listview中的setDataStateChange()进行数据更新的时候是保存了状态的了,若是跳转下一界面在返回的时候产生了移位,那么肯定是回来的时候reStart()里边做了重新填充数据的操作,重新填充的时候若是有一段时间为空的话就会导致其移位到第一条目,若是增加更多的话,将不会移动其条目.
2,listview进行复用的时候,或者是其他的类似控件,item中有自定义控件的话不可进行复用,因为自定义控件本身就有其不确定性.应当将其自定义控件进行清空的.removeAllViews().有时候若是清不掉的话应该使用LinerLayout包裹,使用LinerLayout删除子条目.
3,listview是可以超出接线进行和iOS 一样的弹性滑动,复写方法即可,但是在6.0之上的话背景的颜色不一致导致其实挺难看的效果.
4,EventBus发送粘性事件的时候,若是除了此界面又回到此界面那么将会导致又重新进行了接收的,这是一把双刃剑,注意使用的场合.
5,adb shell的时候,若要是查看隐藏的文件夹不能直接是ls,应该是ls -a;这样方能查看到.nomedia的文件夹.不让其别人看见自己目录下的图片或者是MP3之类的媒体信息,应该是创建.nomedia的文件,并且重新的刷新媒体库,由于可能系统导致的问题,最好的使用单独每个文件的更新操作,不能是文件夹(当然发现有时候也是可以的,只是为了保证起见).发送广播进行更新的操作是不可取的.
6,写布局的时候内层的大小是可以写死的,但是外层一般情况下是不要写死的,因为有变化,最好是wrap_content或者是match_parents.
7,给FrameLayout设置padding是不起作用.
8,ImageView中的图片不进行多方就是设置CenterCrop的属性.
9,本周末,最好总结一下listview和RecyclerView的使用方法及其一些扩展的地方.
10,删除文件
private void clearPicassoCache(File file) {
if (file.exists() && file.isFile()) {
file.delete();
return;
}
if (file.exists() && file.isDirectory()) {
File[] childFile = file.listFiles();
if(childFile == null || childFile.length == 0){
childFile.delete();
return;
}
for (File subFile : childFile) {
clearPicassoCache(subFile);
}
}
file.delete();
}
11,图片的按中心裁剪,centerCrop.等比缩放injust...=true.