java - Android Handler 定义语法

标签 java android syntax

我最近从一本有关 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/

相关文章:

java - 自定义线性布局未显示

java - jdbc 连接期间执行停止且没有抛出任何错误

java - 安卓工作室 : UNEXPECTED TOP-LEVEL EXCEPTION:

android - 以编程方式创建时椭圆形被剪裁

|> 和 .~ 上的 Swift 语法

java - 在开始新 Activity 之前等待 HttpRequest 完成

mac osx 中的 Java 7 路径

android - 从Android中的原始文件夹加载文件

mysql语法错误无法弄清楚

c# - 是否可以在三元表达式上只放置一个选项?