我的程序中有一个按钮,单击该按钮会访问一个巨大的数据库,需要一两秒钟的时间才能完成,然后就会消失。在等待期间,我希望按钮的文本更改为“正在加载...”或其他内容。我试过了
myButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
myButton.setText("LOADING...");
//then do other stuff
}
但是,当然,代码行不会像这样按顺序执行,因此文本不会显示(或者,在消失之前显示得如此之快,以至于不引人注意)。有没有一种简单的方法可以做到这一点?我唯一想到的是使用计时器,但是(1)我不太确定如何使用计时器,(2)对于这样的一行简单代码来说似乎过于复杂。
最佳答案
您需要使用 AsyncTask 进行数据库访问。在 runInBackground() 中,您需要将按钮设置为显示“正在加载”。你可以引用这个-http://developer.android.com/reference/android/os/AsyncTask.html
http://www.vogella.de/articles/AndroidPerformance/article.html#concurrency_asynchtask这也是一个非常好的教程,可以帮助您完成您想要做的事情。
关于java - 如何在其余代码之前执行一行代码?更改按钮上的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6949102/