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) ;