我正在使用计时器来创建秒表。计时器通过增加整数值来工作。然后,我想通过不断更新textview在活动中显示此值。
这是我在服务中尝试更新活动的textview的代码:
protected static void startTimer() {
isTimerRunning = true;
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
elapsedTime += 1; //increase every sec
StopWatch.time.setText(formatIntoHHMMSS(elapsedTime)); //this is the textview
}
}, 0, 1000);
}
我在错误的线程中更新UI时遇到某种错误。
如何调整我的代码以完成不断更新textview的任务?
protected static void startTimer() {
isTimerRunning = true;
timer.scheduleAtFixedRate(new TimerTask() {
public void run() {
elapsedTime += 1; //increase every sec
mHandler.obtainMessage(1).sendToTarget();
}
}, 0, 1000);
}
public Handler mHandler = new Handler() {
public void handleMessage(Message msg) {
StopWatch.time.setText(formatIntoHHMMSS(elapsedTime)); //this is the textview
}
};
上面的代码可以工作…
注意:必须在您的主线程中创建处理程序,以便您可以修改UI内容。
我试图通过调用setText()方法更新TextView对象的文本。我直接向它提供了一个字符串值,但我无法让它在运行在仿真器上的应用程序的UI上更新。 这是发生在一个片段上(在Android Studio上创建带有简单activity的项目时自动生成的片段之一) 关于我目前的情况,有几点: > 我尝试用runOnUiThread“pattern”调用setText()方法,但没有成功。 我检查了T
我尝试创建一个自定义的时间流逝时间,一旦我按住音量键,它就会启动计时器,并假设时间必须在我松开键后停止,但我松开键时遇到问题,计时器仍在移动。请告诉我我错过了什么谢谢 公共布尔onKeyDown(int-keyCode,KeyEvent-event){if((keyCode==KeyEvent.keyCode_-VOLUME_-DOWN
问题内容: 我有主要的仓库管理人员,他在其中将整数值设置为textview,现在我希望在调用onResume()时更新此值…但是当我添加我的一点onResume()代码时 到该应用程序,我什至无法启动它,LogCat变得非常疯狂,并且没有记录任何活动超过半秒钟。有什么办法吗?提前致谢 问题答案: 我将从添加: 我还将删除该内容: from ,因为每次都被调用,所以也被调用。
问题内容: 在MainActivity中,我有一个TextView:textV1。我在MainActivity中也有一个更新该textview的方法: 在BroadcasrReceiver中,我需要在MainActivity中更新textV1中的文本。 如何才能做到这一点?BroadcastReceiver从服务运行。我无法更改此代码。我可以从onReceive()访问和更改MainActivit
问题是: 主线程中通过 setText 更新了 TextView,但是视图没有更新这是为什么?而且仅在app运行一段时间后开始不更新,一开始运行的时候都能正常更新。 详情如下: 用的 BottomNavigationView 包做的地步导航菜单 当 ws 接收到刷新未读消息数量的时候会用 EventBus 推送一条更新数量的消息 在具体的页面中做了 eventbus 的监听,也能正常收到 even
layout-widget.xml: background.xml: 来自DbAdapter.java的getTextViewData(): 有人知道我的代码中缺少了什么吗?