java - 从函数 Android 更新 Textview

标签 java android multithreading eclipse textview

有人可以告诉我如何从函数更新控件 Textview Android 吗?我在互联网上进行了深入搜索,看到很多人问同样的问题,我测试了线程但无法工作,有人有一个简单的工作示例吗?例如调用一个函数(在一个循环中运行多次)并且该函数写入 TextView,但问题是直到该函数未完成运行,它才会显示文本。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    while(condition) //here freezes the UI and the text in textview only shows when the loop ends
    {
        HardWork();  
    }

}

public void HardWork() {  

    txtProgreso.append("Test Line" + "\n\n");

};

提前致谢。

最佳答案

如果我没理解错的话
这里使用AsyncTask,所以你可以在onProgressUpdate方法中更新textview

private class SomeTask extends AsyncTask<String, String, String> {
    @Override
        protected String doInBackground(String... params) {
         while(condition) {
         //do more
         publishProgress("Some text value to you textview");
        }
         return null;
     }

     @Override
     protected void onProgressUpdate(String... values) {
         txtProgreso.append(values[0]);
     }


 }

关于java - 从函数 Android 更新 Textview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4282001/

相关文章:

java - 如何在没有 Shade 插件的情况下编译 DropWizard?

java - ArrayList.get() 返回指针而不是值?

java - 如何在appium java中获取android元素的 'resource id'和 'content description'属性值?

multithreading - 在 Go 中的多线程中按 block 下载文件

java - 将 Kundera 与 Cassandra 一起使用时 JPA 的连接类型?

java - 无法从组合框中选择项目

multithreading - 由于线程化,将值移出闭包

python - time.sleep 与 threading.Lock 的交互

java - FileInputStream、FileOutputStream - 检查文件中的特定值/行/字符串

android - 无法在 Linux 中启动 Android Studio