我最近从一本有关 Android 服务的书中找到了这段代码:
static Handler UIupdater = new Handler() {
@Override
public void handleMessage(Message msg) {
byte[] buffer = (byte[]) msg.obj;
//---convert the entire byte array to string---
String strReceived = new String(buffer);
//---display the text received on the TextView---
txtView1.setText(strReceived);
Log.d(“Threading”, “running”);
}
};
我想我理解其目的,-他们只是想重写 Handler 类的方法而不定义它的子类-,但我不确定我是否理解语法。事实上,我以前从未在java中遇到过这种语法。有人能指出这里涉及的java机制吗?一开始我以为它是匿名内部类,但静态 Handler UIupdater 部分让我对此表示怀疑......
感谢您的帮助(抱歉提出了菜鸟问题)!
最佳答案
你是对的,那是 anonymous inner class ,其实例被分配给 static field UIupdater
。
关于java - Android Handler 定义语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15463914/