【发布时间】:2016-08-09 08:48:40
【问题描述】:
Handler 类发生了什么。为什么它向我显示这种类型的错误?我可以通过调用 Handler 覆盖方法来解决它。但我不想要它们。我该怎么办。
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
blink();
}
private void blink(){
final Handler handler = new Handler(); //showing error and need to call their override methods.
new Thread(new Runnable() {
@Override
public void run() {
int timeToBlink = 1000; //in milissegunds
try{Thread.sleep(timeToBlink);}catch (Exception e) {}
handler.post(new Runnable() {
@Override
public void run() {
TextView txt = (TextView) findViewById(R.id.blink);
if(txt.getVisibility() == View.VISIBLE){
txt.setVisibility(View.INVISIBLE);
}else{
txt.setVisibility(View.VISIBLE);
}
blink();
}
});
}
}).start();
}
}
即使我调用 Handler 方法,错误仍然存在。
@Override
public void close() {
}
@Override
public void flush() {
}
@Override
public void publish(LogRecord record) {
}
};
【问题讨论】:
-
Handler 是一个抽象类,你应该为这个类实现方法。
-
您输入了错误的
Handler类。它应该是android.os.Handler,而不是java.util.logging.Handler。 stackoverflow.com/questions/36215126 -
我的错!抱歉,没有注意到那里的其他代码。
标签: android android-layout android-studio android-handler