覆盖错误android studio

时间:2016-01-12 21:10:10

标签: java android android-studio

我正在使用Android Studio进行Android开发课程,但我在其中一个我尝试复制/重复的示例中遇到@Override错误。

这里是我收到错误的代码

Handler handler = new Handler(){
    @Override //here I get an error, that is not overriding a class
    public void handlerMessage(Message msg) {
        TextView JeroensText = (TextView) findViewById(R.id.JText);
        JeroensText.setText("Lekker bezig!");
    }
};

有人怎么解决?

3 个答案:

答案 0 :(得分:2)

android.os.Handler类没有handlerMessage(Message message)方法,您应该覆盖handleMessage(Message message)方法(不带'r')

答案 1 :(得分:2)

在这两种情况下:

    Handler handler = new Handler(new Handler.Callback () {
        @Override
        public boolean handleMessage(Message msg) {
            TextView JeroensText = (TextView) findViewById(R.id.JText);
            JeroensText.setText("Lekker bezig!");
            return false;
        }
    });

}

    Handler handler  = new Handler () {
        @Override
        public void handleMessage(Message msg) {
            TextView JeroensText = (TextView) findViewById(R.id.JText);
            JeroensText.setText("Lekker bezig!");
        }
    };

您可以看到handleMessage()方法,而不是handlerMessage()

希望有所帮助

答案 2 :(得分:0)

它只是一个简单的错过 - 从你的hanlderMessage方法中删除额外的“ r ”。

由于Handler没有'handle r 消息(消息)'方法。使用其中之一 回调

Handler handler = new Handler(new Handler.Callback () {
    @Override
    public boolean handleMessage(Message msg) {
        // handle message here
        return true;
    }
});

Handler handler  = new Handler () {
    @Override
    public void handleMessage(Message msg) {
        // handle message herer
    }
};