Gen*_* S. 34 java multithreading android runnable
我有一个使用处理程序发布可运行实例的线程.它工作得很好,但我很好奇如何通过params in在Runnable实例中使用?也许我只是不明白这个功能是如何工作的.
为了抢先"你为什么需要这个"问题,我有一个线程动画,必须回调到UI线程,告诉它实际绘制的内容.
Lal*_*ani 79
只是一个Runnable用接受参数的构造函数实现的类可以做,
public class MyRunnable implements Runnable {
private Data data;
public MyRunnable(Data _data) {
this.data = _data;
}
@override
public void run() {
...
}
}
Run Code Online (Sandbox Code Playgroud)
您可以使用参数化构造函数创建Runnable类的实例.
MyRunnable obj = new MyRunnable(data);
handler.post(obj);
Run Code Online (Sandbox Code Playgroud)
有多种方法可以做到,但最简单的方法如下:
final int param1 = value1;
final int param2 = value2;
... new Runnable() {
public void run() {
// use param1 and param2 here
}
}
Run Code Online (Sandbox Code Playgroud)
如果你需要将信息传递给a Runnable,你总是可以让Runnable对象构造函数接收这些信息,或者可以有其他方法Runnable允许它获取这些信息,或者(如果Runnable是一个匿名的内部类)可以声明相应的值,final以便Runnable可以访问它们.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
64144 次 |
| 最近记录: |