java - 如何在android中的 TextView 中打印1到10个数字?

标签 java android numbers

我是android初学者,我想按顺序打印1 -10个数字,如下所示

1 2 3 4 5 6 7 8 9 10

我想打印这些数字,例如 1 3secs after 2, 3secs after 3,3secs after 4......等等

我编写了如下代码来打印 1-10 但它只显示 10 。

@Override
    public void onClick(View v) {
        name=((TextView)findViewById(R.id.textView1));

        for(int i=0;i<11;i++){
        name.setText("hai"+i);
        }

请问有什么解决办法吗?

最佳答案

这不起作用,就像这样,因为 onClick() 是在 UI 线程上运行的,会阻止它进行更新,直到 onClick() 返回。虽然

您可以使用 AsyncTask 来解决这个问题,其中 doInBackground() 方法正在执行循环, 通过 publishProgress() 发送要打印的数字,并让 onProgressUpdate() 更新 TextView。

这里是an example AsyncTask 的使用。另请查看 docs这也说明了进度更新。

关于java - 如何在android中的 TextView 中打印1到10个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5621473/

相关文章:

android - 为什么 FusedLocationApi.getLastLocation 为空

javascript - 在 JavaScript 中生成 7 个唯一的随机数

java - Spring's application context available everywhere - 在静态变量中设置应用程序上下文

java - flashAttributes 在 websphere 重定向期间丢失

java - 在 Spring 框架上使用 LocalDate 进行循环计算的最佳实现是什么?

java - 在 Android 中使用 `Objects.equals()`

Java servlet 上传新文件到服务器

android - android中的自定义键盘 View

c++ - qt c++ "QString::number"不保留所需的小数位

php - 可以将一个变量乘以一个变量来检查它是否真的是 php 中的一个数字吗?