gpt4 book ai didi

java - 让代码在 x 秒后执行 - Java、Android

转载 作者:行者123 更新时间:2023-12-01 12:24:45 25 4
gpt4 key购买 nike

我试图通过使用扩展 TimerTask 的附加类来每秒执行一个方法。我认为它不起作用的原因是我正在尝试执行一个最终将值返回到 MainActivity 的方法。这就是原因:我通过使该方法不返回任何内容(仅将某些内容打印到控制台)来测试代码,并且它有效。

以下是我的代码与返回方法的摘要:

public class MainActivity extends ActionBarActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Timer timer = new Timer();
timer.schedule(new doStuff(), 0, 1000);
}

public void method1(String string){
//things happen
}

}

//----------------------------------------

class doStuff extends TimerTask{

@Override
public void run(){

String string = stringMethod();
MainActivity ma = new MainActivity();
ma.method1(string);
}

public String stringMethod(){
//gets the required string
return "String";
}
}

请注意,该方法本身不会直接向 MainActivity 返回值。 run() 就是这样做的。

当我尝试在 Android 设备上运行代码时,LogCat 会显示 notify() 未阻止某些内容。没有把握。不记得了。我只是想知道在解决这个问题之前是否有一种更简单的方法不需要两个类。

*抱歉这些愚蠢的名字。我只是为了演示目的而制作它们。

最佳答案

尝试使用处理程序:

final Handler handler=new Handler();

final Runnable runnable = new Runnable()
{
public void run()
{
//This will run every 1000ms. Put code here(UI safe)
handler.postDelayed(this, 1000);
}
};

handler.postDelayed(runnable, 1000);

关于java - 让代码在 x 秒后执行 - Java、Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26452608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com