问题是: 主线程中通过 setText 更新了 TextView,但是视图没有更新这是为什么?而且仅在app运行一段时间后开始不更新,一开始运行的时候都能正常更新。
详情如下:
用的 BottomNavigationView 包做的地步导航菜单
当 ws 接收到刷新未读消息数量的时候会用 EventBus 推送一条更新数量的消息
在具体的页面中做了 eventbus 的监听,也能正常收到 eventbus 的消息
接收到消息,重新掉接口获取未读消息数量,并更新导航菜单的未读数量
上述是具体的更新代码,都有成功执行。但是页面就是死活没变化,我也有看线程,上述更新代码都是在主线程中执行的,就是不更新,而且很奇怪,一开始运行app的时候能正常更新数量,后面ws、eventbus 都正常的情况下,一段时间后,改了未读消息数量,改成功了,页面不更新。该如何解决?
主线程中可以正常更新 ui;是更新的视图错误导致。
Android 中,TextView 的值没有更新,即使你在主线程中调用了 setText
方法,可能有几个原因:
setText
之后使用 invalidate()
或 requestLayout()
方法强制 UI 刷新。ViewPager
、RecyclerView
或其他可以重用视图的组件,并且视图被缓存和重用,那么你可能需要确保在每次视图被重新使用时都更新其数据。findViewById
方法重新获取 TextView 的引用,并再次设置文本。为了更准确地诊断问题,你可能需要提供更多的代码和上下文信息。不过,基于你提供的信息,你可以尝试上述建议,看看是否能解决你的问题。
问题内容: 我正在使用计时器来创建秒表。计时器通过增加整数值来工作。然后,我想通过不断更新textview在活动中显示此值。 这是我在服务中尝试更新活动的textview的代码: 我在错误的线程中更新UI时遇到某种错误。 如何调整我的代码以完成不断更新textview的任务? 问题答案: 上面的代码可以工作… 注意:必须在您的主线程中创建处理程序,以便您可以修改UI内容。
问题内容: 我有主要的仓库管理人员,他在其中将整数值设置为textview,现在我希望在调用onResume()时更新此值…但是当我添加我的一点onResume()代码时 到该应用程序,我什至无法启动它,LogCat变得非常疯狂,并且没有记录任何活动超过半秒钟。有什么办法吗?提前致谢 问题答案: 我将从添加: 我还将删除该内容: from ,因为每次都被调用,所以也被调用。
我是java新手,所以请不要后悔java中的对象和东西正在传递引用的值,但下面是我试图传递对象的代码。当我通过传递到函数中更新值时,a的值没有改变。发生了什么请帮助我。。。
我想安装Primeng7.0.0到我的Angular项目,但首先我需要更新我的JHipster到最后一个版本。 当我将此命令写入terminal时,我得到以下错误
我对android很陌生,刚开始学。我已经安装了android Studio。当我启动它的时候,它试图更新组件,但是没有更新任何东西。确实出现了一条消息,说没有要更新的内容,当我单击“完成”时,没有任何反应。 我附上了错误的截图。请告诉我如何解决这个问题。提前感谢。
layout-widget.xml: background.xml: 来自DbAdapter.java的getTextViewData(): 有人知道我的代码中缺少了什么吗?