
Android Handler Runnable 使用示例(重点是内部 Run 方法中的停止操作)
5星
- 浏览量: 0
- 大小:None
- 文件类型:None
简介:
本示例详细展示了如何在Android开发中使用Handler和Runnable实现异步任务,并特别讲解了通过重写Run方法内的逻辑来控制线程的停止机制。
Android Handler 和 Runnable 的使用实例主要集中在如何在 Runnable 内部的 run 方法中停止任务。
下面是一个简单的例子来展示这个过程:
```java
public class MainActivity extends AppCompatActivity {
private Handler mHandler = new Handler();
private boolean mStopThread;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button startButton = findViewById(R.id.start_button);
Button stopButton = findViewById(R.id.stop_button);
startButton.setOnClickListener(v -> {
mHandler.post(mRunnable);
mStopThread = false;
});
stopButton.setOnClickListener(v -> {
mStopThread = true; // 在run方法中会检查这个标志来决定是否停止执行
});
}
private final Runnable mRunnable = new Runnable() {
@Override
public void run() {
if (!mStopThread) { // 如果没有被标记为停止,继续运行任务
Log.d(MainActivity, Running...);
mHandler.postDelayed(this, 100); // 延迟一段时间后再次执行run方法
} else {
Log.d(MainActivity, Stopped.);
}
}
};
}
```
在这个例子中,当用户点击“开始”按钮时,会启动一个循环任务。这个任务每隔一定时间通过 Handler.postDelayed 方法重新调用自己来持续运行。如果在某个时刻用户点击了“停止”按钮,则 mStopThread 变量会被设置为 true,在 run() 方法内检查到该变量值后就会终止进一步的执行。
这种机制可以用来实现定时器、心跳检测等多种场景下的任务控制功能。
全部评论 (0)


