10.20学习日记

By | 10月20日
Advertisement

今日看了https://github.com/BlueMor/DragLayout DragLayout的代码,把v4包去除,发现他使用了3个类

import android.support.v4.view.GestureDetectorCompat;
import android.support.v4.view.ViewCompat;
import android.support.v4.widget.ViewDragHelper;

其中GestureDetectorCompat是手势操作类,比系统的GestureDetector强大

ViewCompat内容不多,没细读

ViewDragHelper类可以多view进行炫丽的操作:http://blog.csdn.net/jianghejie123/article/details/39315319

其中该类有个实用的方法:

//触摸点是否落在HeaderView上
boolean isHeaderViewUnder = mDragHelper.isViewUnder(mHeaderView, (int)x, (int)y);

(来自YoutubeLayout)

2.viewholder新写法

/**
* SparseArray这个类,优化过的存储integer和object键值对的hashmap
* 只需静态调用get这个方法填入当前Adapter的 convertView 与 子控件的id,就可以实现复用。
* @author Administrator
*
*/

public class ViewHolder
{

@SuppressWarnings("unchecked")
public static <T extends View> T get(View view, int id)
{
SparseArray<View> viewHolder = (SparseArray<View>) view.getTag();
if (viewHolder == null)
{
viewHolder = new SparseArray<View>();
view.setTag(viewHolder);
}
View childView = viewHolder.get(id);
if (childView == null)
{
childView = view.findViewById(id);
viewHolder.put(id, childView);
}
return (T) childView;
}
}

看过之后,个人感觉不如之前的viewholder快

private static class ViewHolder {
TextView tvLetter;
TextView tvTitle;

public ViewHolder(View view) {
tvTitle = (TextView) view.findViewById(R.id.tv_city_name);
tvLetter = (TextView) view.findViewById(R.id.tv_city_index);
}
}

因为上面的viewholder使用了SparseArraynew了变量,还需要用到里面的方法执行获取view,会慢一些,至于新写法的优点,需要研究挖掘。

javascript中 == 和 ===的区别

==和java的等于符合相同

===是严格相等的意思,比==高级,还要比较类型是否相等

!=和!==的区别

!= 和java一样,!==也比较类型

phonegap是跨平台移动应用html5开发平台

Similar Posts:

  • 【原创】学习日记5:nginx负载均衡(三)2012.01.10 nginx+keepalievd,实现负载均衡和故障点切换。keepalived双机热备。

    接上文 学习日记4:nginx负载均衡(二)2012.01.08 ...... 到此,整体工作还差一个备用nginx proxy,其中涉及到keepalived,做心跳. 黄线以上做完了. 本次主要做的是1加一台从nginx_proxy ,暂且命令为front2(为从).之前的nginx_proxy命令为front(为主) 1 在主nginx上配置keepalived. cd /usr/local/src/ wget http://keepalived.org/software/keepaliv

  • Linux基础命令小结(下)- Linux学习日记

    今天,由于我们已经可以使用vi编辑自己的文件,如果我们想查看这些文件,总不能每次都使用vi打开文件去查看吧.所以首先给大家介绍几条关于文件查看命令. 1.文件查看命令 cat命令 这条命令适用于最简单的文本查看,它在显示文件内容的时候是以第一行开始,在显示过程中没有停顿,文件较长的话,只能看到最后一页内容在屏幕上显示,不适合查看长文件. 例如:我们查看"/etc"目录下的"inittab文件,直接在命令提示符下输入: 由于这个文件较长,我们只看到了文件的最后一页在屏幕上的显示

  • 20145337 《Java程序设计》第10周学习总结

    20145337 <Java程序设计>第10周学习总结 教材学习内容总结 网络编程 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输. 路由器和交换机组成了核心的计算机网络,计算机只是这个网络上的节点以及控制等,通过光纤.网线等连接将设备连接起来,从而形成了一张巨大的计算机网络. 网络最主要的优势在于共享:共享设备(例如打印机)和数据(网站.银行服务器) 网络中的每个设备都有唯一的数字标识--IP地址.在计算机网络中,命名IP地址的规定是IPv4协议,该协议规定每个IP地址由4

  • 黑马程序员_JAVA学习日记_JAVA中的多线程补充

    黑马程序员-学习日记 黑马程序员_JAVA学习日记_JAVA中的多线程补充 ------- android培训.java培训.期待与您交流! ---------- 一.多线程的线程类的父类为Thread: Thread类中的常见方法有:getName();获取线程类的名称,非线程类无法使用该方法获取.线程的默认名字为:Thread-0,1... 非线程类的名字获取方式:通过Thread类中的currentThread()静态方法返回一个线程对象,然后调用getName()方法! 格式:Threa

  • C#高级编程学习日记之C#基础之变量和预定义数据类型

    题外话:今天看到有一个园主的博客里面说的学习之塔,探讨了如何提高学习效率的问题.很受启发,自己学习程序却没有坚持程序.却一直从事程序二线实施,现在想重新拾起那些厚厚的课本走上一线.时间就是金钱,如何快速的提高自己的水平呢? 阅读 培训 向先进者学习 辅导他人学习 日记与博客 培训现在还没有条件,辅导他人学习是不大靠普的,自己对程序理解的还很浅.阅读,总结阅读.最为适合自己的学习方式,坚持下去. 好了,一切从基础开始<C#高级编程>.第一章,.Net的体系结构.最基础,却也很高深.实话,现在读不

  • 10步学习CSS定位

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"><h

  • LinuxShell编程学习日记

    LinuxShell编程学习日记 作者: 胡浩源 相关文档: <shell编程基础> <Linux系统下C程序开发详解>第4章 目录: 变量赋值,引用和比较 流程控制 if语句 && 和 || 操作符 case语句 select 语句 while/for循环 又来了新的磁盘阵列了,这次是华为-赛门铁克的,之前使用的iozone的绘图脚本给出的结果让我一直觉得很不舒服.那个原始文件大小很多余,绘出来的结果很有气势,分析起来却很不直观.如图: 虽然可以发现FileSiz

  • 黑马程序员_JAVA学习日记_JAVA中的泛型

    黑马程序员-学习日记 黑马程序员_JAVA学习日记_JAVA中的泛型 ------- android培训.java培训.期待与您交流! ---------- 一:泛型概述: 泛型是JDK1.5版本以后出现的一个安全机制:泛型其实给编译器使用的. 泛型的表现形式就是<> 集合中存储了不同类型的对象,取出时,容易在运行时时期发生ClassCastExcepti类型转换异常:为了避免这个问题的发生;我们在存储的时候就明确了集合要操作的数据类型,这样取出就没有问题了,就需要在定义集合时,就立刻明确元素

  • JAVA学习日记03

    1503-3-吴天明  总结<2016年-10月-03日>[连续 3天总结] 关键词:Number类.Character类.String类.Stringbuffer类 内容 A. 概括   今天主要学习了java的修饰符.循环结构和分支结构,与C++有很多相似之处. (a)Number类 80% (b)Character类 80% (c)String类 80% (d)Stringbuffer类 80% B.具体内容 Number类方法很多,但主要有这么几类运算方法:(a)比较运算:(b)对数.

  • 黑马程序员-OC加强学习日记-分类、协议、block类型

    ------- ios培训. android培训.java培训.期待与您交流! ---------- 一.分类 Gategroy 1.创建一个分类 @interface 类名 (分类名) @end @implementation 类名 (分类名) @end 2.特点:(1)扩展已有类的功能 (2)分类中可以访问原有类的成员变量(定义在头文件中的成员变量) 3.语法步骤:(1)创建一个分类 (2)在分类中增加新方法的声明和实现 4.注意点:(1)分类不可以为原有类增加定义成员变量, @proper

Tags: