Tips of android

本文深入探讨了Android自定义回调监听的实现方式,强调了在调用函数时对监听器进行判空的重要性,并通过示例代码展示了如何使用匿名内部类实现接口。此外,文章还提到了抽象类实现接口的方法,ListView更新机制,以及在遍历数组删除元素时使用迭代器的正确做法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

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()的区别:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值