无效并不是重画屏幕。安卓

2023-12-01

BufferedReader hl  = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.lines)));
                while(hl.ready()){
                    showLines.append(hl.readLine()+"\n");
                    showLines.invalidate();
                    Thread.sleep(10);
                }

这是我的代码,但当我告诉它时它不会重绘。它应该在添加到 textview 的每一行之后重绘,但它仍然只在最后重绘?有人可以帮我吗,我想不通。


这是因为您的 invalidate() 位于线程 while 循环中,并且正在累积,可以这么说,直到循环结束,并且只有它绘制...

在循环中使用 Thread.sleep() 时,我遇到了同样的问题。您可以使用后延迟方法来绘制每条线,在本例中为每秒一条线:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    BufferedReader hl  = new BufferedReader(new InputStreamReader(getResources().openRawResource(R.raw.text))); 
    TextView showLines = (TextView) findViewById(R.id.textView1);
    appendLines(hl, showLines);

}


public void appendLines(final BufferedReader br, final TextView tv){
    Handler handler = new Handler(); 
     handler.postDelayed(new Runnable() {           
         public void run() {                
             try {
                if(br.ready()){                     
                     try {
                        tv.append(br.readLine()+"\n");
                    } catch (IOException e) {
                        e.printStackTrace();
                    }                     
                     tv.invalidate();                     
                     appendLines(br, tv);             
                     }
            } catch (IOException e) {
                e.printStackTrace();
            } 
         }
         }, 1000); 
     }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

无效并不是重画屏幕。安卓 的相关文章

随机推荐

  • 在 Codeigniter 中的所有控制器上具有固定视图

    为了在 CodeIgniter 中加载视图 我必须重复加载固定视图 页眉和页脚 这对于每个与视图相关的控制器重复加载有点烦人 目前 当我想在 CI 中加载视图时 我会执行以下操作 this gt load gt view header th
  • 如何在具有不同域的同一 IP/服务器上托管多个 Node.js 站点?

    我有一个Linux服务器 绑定了一个IP 我想在该 IP 上的服务器上托管多个 Node js 站点 每个站点 显然 都有一个唯一的域或子域 我希望它们全部位于端口 80 上 我有什么选择来做到这一点 一个明显的解决方案似乎是让所有域都由充
  • 如何通过命令行更改现有文件夹的图标? (Windows 10)

    我的桌面上有一个文件夹和 12 个不同的图标 我想使用任务计划程序创建一个计划任务 只要我的电脑处于打开状态 该任务就会运行并每 15 分钟更改一次文件夹的图标 我做了研究 发现了这段代码 attrib h r c test desktop
  • iPhone核心位置:地图类型更改时自定义图钉图像消失

    我有一个位于 MKMapView 上的分段控制器 当我更改 MKMapType 时 自定义图钉的图像将恢复为默认的红色 标题和副标题以及坐标保持不变 任何人都可以阐明可能的解决方案吗 不久前我也遇到了类似的问题 为什么自定义 MKMapVi
  • 如何判断 Sympy 变量是否为复数?

    我正在编写一个涉及求解这个方程的代码 X solve Theta Mod Eqn Ramp Equation x PT C x 我正在使用 sympy 库 现在方程有 7 个根 很少是复数根 很少是实数根 我无法将它们分开 因为isinst
  • 服务永久处于“启动”状态

    我用 C 编写了一个 Windows 服务 它将 wav 文件转换为 mp3 然后将它们存储在远程服务器上 在我的开发平台 操作系统 WinXP SP3 上 服务启动正常并按预期运行 当我将其安装到生产机器 操作系统 WinServer 2
  • notificationDataSetChanged() 使列表刷新并滚动跳回顶部

    我正在尝试实现无限滚动列表视图 但是当我打电话时notifyDataSetChanged 整个列表刷新然后滚动位置返回到顶部 这是正常行为吗 如何让它简单地添加添加的项目而不刷新并保持滚动位置 这种行为是不正常的 在没有看到您的代码的情况下
  • 使用 Javascript/jQuery 访问 id 属性不正确的 HTML 元素

    我正在为某人制作一个 Greasemonkey 脚本 以更改其 CRM Zoho 创建的某些字段的显示 因为他们无权更改呈现的 HTML 这应该很容易 但是 Zoho 认为创建正确的 HTML 太麻烦了 我猜 他们的 HTML 包含这样的内
  • 如何使用 Google Apps 脚本在电子邮件主题中使用表情符号?

    我正在尝试使用 Google Apps 脚本发送电子邮件 try 1 const subject Hello World try 2 const subject Hello World String fromCodePoint 0x1F60
  • 使用 new-azwebapp 时如何选择运行环境?

    我目前正在构建一个脚本来自动创建天蓝色网络应用程序 前端是用 React 构建的并且部署得很好 后端是使用node构建的 发布时不会运行 我认为默认情况下 New AzWebApp 创建一个 net windows 运行时环境 而我想要一个
  • 为同一路线航行多个处理程序

    正如标题所示 我想在不同的控制器中为 Sails Js 中的同一路线分配多个操作处理程序 我尝试过的 post rest users controller FirstController action someAction controll
  • Visual Studio 2022:更改垂直滚动条中定位区域的颜色

    如何更改图像中突出显示的区域的颜色 该区域显示您所在的位置或要滚动到正在编辑的页面中的位置 我发现能够更改此设置的唯一方法是创建自己的主题 因为 Visual Studio 独立版似乎不支持此功能 幸运的是 有一个很好的扩展名为Visual
  • 将 sp_executesql 与 params 一起使用会抱怨需要声明变量

    我正在尝试创建一个使用 sp executesql 的存储过程 我已经仔细观察了很久here 但我看不到我在代码中做错了什么 一般来说 我对存储过程 sql 服务器功能很陌生 所以我猜我错过了一些简单的东西 存储过程更改发生得很好 但是当我
  • 通告揭示了新活动的过渡

    As per https developer android com training material animations html The ViewAnimationUtils createCircularReveal 方法使您能够
  • BCNF分解算法不起作用

    我有以下问题 R ABCDEFG 和 F AB gt CD C gt EF G gt A G gt F CE gt F 显然 B 和 G 应该是键的一部分 因为它们不是依赖集的一部分 此外 BG ABCDEFG 因此是候选键 显然 AB g
  • Webkit CSS 控制输入[type=color] 中颜色周围的框?

    是否有特定于 Webkit 的 CSS 样式 可以让我控制颜色周围的框的颜色 大小 样式input type color 我已经设置了输入的颜色和背景颜色 因此它与我用于旧版 Chrome 和 Firefox 的交叉兼容性填充程序看起来不错
  • NavigationService 何时初始化?

    我想从我的页面捕获 NavigationService Navigating 事件 以防止用户向前导航 我有一个这样定义的事件处理程序 void PreventForwardNavigation object sender Navigati
  • 如何使用 %s 和 %c 正确 printf 字符串和字符

    我对使用感到困惑 c and s在以下 C 程序中 include
  • 从 SQL Server 表中选择扩展属性

    我正在为客户的数据库编写一个简单的 CMS 有 12 个表 他们需要管理其中 4 个表中的所有数据 我设置了一个动态数据项目 Linq to SQL 因为这是我最熟悉的 并且第一页使所有 12 个表都可以按其应有的方式进行编辑 它们位于名为
  • 无效并不是重画屏幕。安卓

    BufferedReader hl new BufferedReader new InputStreamReader getResources openRawResource R raw lines while hl ready showL