android 自定义一个类,继承Thread和被观察者
时间: 2024-05-11 11:18:13 浏览: 57
android工具类,自己写的,些项目时可以直接继承
4星 · 用户满意度95%
可以这样实现:
```java
import java.util.Observable;
public class MyThread extends Thread implements Observable {
private boolean isRunning;
private boolean isFinished;
public MyThread() {
isRunning = false;
isFinished = false;
}
@Override
public void run() {
isRunning = true;
// 执行具体的任务
isRunning = false;
isFinished = true;
setChanged();
notifyObservers();
}
public boolean isRunning() {
return isRunning;
}
public boolean isFinished() {
return isFinished;
}
}
```
在这个类中,我们继承了Thread类,并且实现了Observable接口,使得这个类可以被观察者观察。在run()方法中,我们执行具体的任务,并在任务完成后设置isFinished为true,然后调用setChanged()和notifyObservers()方法,通知所有的观察者这个类的状态发生了改变。
使用这个类时,可以通过调用start()方法来启动线程,然后通过isRunning()和isFinished()方法来获取线程的状态。同时,可以通过调用addObserver()方法来添加观察者。例如:
```java
MyThread myThread = new MyThread();
myThread.addObserver(new Observer() {
@Override
public void update(Observable o, Object arg) {
// 处理线程完成后的逻辑
}
});
myThread.start();
```
阅读全文