我正在使用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!");
}
};
有人怎么解决?
答案 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
}
};