为什么初始化处理程序对象时无法重写 handleMessage 方法?


  • 应该是这样的:

    Handler handler = new Handler() {  
        @Override  
        public void handleMessage(Message msg) {  
            super.handleMessage(msg);  
        }  
    };  
    
  • 然而,在我的IDE中,它必须像这样被高估:

        Handler handler = new Handler() {
        @Override
        public void close() {
        }
        @Override
        public void flush() {
        }
        @Override
        public void publish(LogRecord logRecord) {
        }
    };
    

这里的Handler对象似乎不支持名为"handleMessage"的方法。

我该怎么办?

这是不同Handler类之间的名称冲突。

您提到的第一个Handler似乎是javax.xml.ws.handler.Handler文档或android.os.Handler文档,这两个文档都有一个要覆盖的handleMessage方法。

第二个Handler似乎是一个java.util.logging.Handler文档,它具有您提到的

方法

最新更新