java - 如何在其余代码之前执行一行代码?更改按钮上的文本

标签 java android button sequential

我的程序中有一个按钮,单击该按钮会访问一个巨大的数据库,需要一两秒钟的时间才能完成,然后就会消失。在等待期间,我希望按钮的文本更改为“正在加载...”或其他内容。我试过了

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/

相关文章:

php - 如何使用 SQL 查询生成的按钮获取 id/name onclick?

java - Cucumber-JVM - @When 无法解析为类型

java - 增量后整数作为字符串进行零填充

java - Xtend 语法澄清

java - 如何修复 IllegalArgumentException

android - 无法在 ActionBarActivity 中创建 alertDialog

java - 未找到 Android Robolectric 软件包。未知包装 : apk

android - 查看页面 : getting current item position

html - div 和图像上的悬停效果在 css 中不起作用

objective-c - if else 语句不起作用!