runOnUiThread 中的参数
parameter in runOnUiThread
我的 android 程序中有一个计时器:
timer1= new Timer();
timer1.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod();
}
}, 0, 3000);
private void TimerMethod()
{
this.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable() {
public void run() {
//my code
}}
我想从 TimerMethod 向 Timer_Tick 发送一个参数,换句话说,我想要 Timer_Tick 的输入参数,
我将代码更改为:
int input1=10;
timer1= new Timer();
timer1.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod(input1);
}
}, 0, 3000);
private void TimerMethod(int myinput)
{
this.runOnUiThread(Timer_Tick);
//How pass myinput to Timer_Tick????????????
}
我该怎么办?
您可以创建一个新的 class (MyTimerTask) 实现 Runnable 接口,并且有 运行 方法。在此 class 中,将您的参数添加为 class 字段之一,并在其构造函数中设置所需的值。剩下的就真的很简单直接了:
public class MyTimerTask implements Runnable
{
private String param ;
public MyTimerTask(String param)
{
this.param = param
}
@Override
public void run()
{
//your code
}
}
MyTimerTask mytimertask = new MyTimerTask(myparameter);
timer1.schedule(mytimertask,0,3000) ;
我的 android 程序中有一个计时器:
timer1= new Timer();
timer1.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod();
}
}, 0, 3000);
private void TimerMethod()
{
this.runOnUiThread(Timer_Tick);
}
private Runnable Timer_Tick = new Runnable() {
public void run() {
//my code
}}
我想从 TimerMethod 向 Timer_Tick 发送一个参数,换句话说,我想要 Timer_Tick 的输入参数,
我将代码更改为:
int input1=10;
timer1= new Timer();
timer1.schedule(new TimerTask() {
@Override
public void run() {
TimerMethod(input1);
}
}, 0, 3000);
private void TimerMethod(int myinput)
{
this.runOnUiThread(Timer_Tick);
//How pass myinput to Timer_Tick????????????
}
我该怎么办?
您可以创建一个新的 class (MyTimerTask) 实现 Runnable 接口,并且有 运行 方法。在此 class 中,将您的参数添加为 class 字段之一,并在其构造函数中设置所需的值。剩下的就真的很简单直接了:
public class MyTimerTask implements Runnable
{
private String param ;
public MyTimerTask(String param)
{
this.param = param
}
@Override
public void run()
{
//your code
}
}
MyTimerTask mytimertask = new MyTimerTask(myparameter);
timer1.schedule(mytimertask,0,3000) ;