Android自定义回调监听的实现。。。(形式固定,需要记住)
https://www.jb51.net/article/133137.htm
注意在调用函数的地方对监听器判空!!!
接口不能new,但是可以new接口的实现类,如监听器中的匿名内部类【重点】https://blog.youkuaiyun.com/fitaotao/article/details/82491789
https://zhidao.baidu.com/question/342312672.html
package com.saillen.test;
interface A {
void f();
}
public class T {
public T(A a) {
a.f();
}
public static void main(String[] args) {
T t = new T(new A() {
public void f() {
System.out.println("我是匿名内部类");
System.out.println("Class对象是:" + this.getClass());
System.out.println("类名字是:" + this.getClass().getSimpleName());
}
});
}
}
抽象类实现接口,可以不实现所有的方法,而由抽象类的子类去实现。
使用 adapter.notifyDataSetChanged() 时,必须保证传进 Adapter 的数据 List 是同一个 List
而不能是其他对象,否则无法更新 listview。
详情见:
https://blog.youkuaiyun.com/swust_zeng_zhuo_k/article/details/80354236
字符串常量数组不要写在java文件中,写在定义字符串的资源文件当中,如
<string-array name="zoom_option_array">
<item>默认</item>
<item>16:9</item>
<item>4:3</item>
<item>自动</item>
<item>全景</item>
<item>Just Scan</item>
<item>缩放1</item>
<item>缩放2</item>
<item>14:9</item>
<item>点对点</item>
<item>字幕</item>
<item>影视</item>
<item>用户</item>
<item>全景(4x3)</item>
<item>宽银幕(4x3)</item>
<item>垂直黑边(16x9)</item>
<item>扫描(16x9)</item>
<item>合并(4x3)</item>
<item>合并(16x9)</item>
<item>缩放2x</item>
<item>缩放3x</item>
<item>缩放4x</item>
</string-array>
在java代码中使用Context.getResource().getStringArray(R.array.zoom_option_array)即可。
https://blog.youkuaiyun.com/qq_30310607/article/details/82347807 遍历数组删过程中除元素时使用迭代器删除iterator.remove(),而不要使用List.remove(),否则会破坏遍历,造成难以预测的后果。
https://www.jianshu.com/p/95ec1321f6a5 Handler开启线程
https://blog.youkuaiyun.com/huwenzhi1991/article/details/46534985 handler中的handler.removecallbacks和handler.removemessages的用法
https://github.com/ImmortalZ/StereoView 3D旋转器
MotionEvent.getRawX()和MotionEvent.getX()的区别: