android - 定期更新小部件 TextView 的简单方法

标签 android android-widget widget textview

我有一个带有两个显示时间和日期的 TextView 的小部件。

我只是希望这批代码每秒发生一次:

views.setOnClickPendingIntent(R.id.rl, pendingIntent);
java.util.Date noteTS = Calendar.getInstance().getTime();
String time = "kk:mm";
String date = "dd MMMMM yyyy";

views.setTextViewText(R.id.tvTime, DateFormat.format(time, noteTS));
views.setTextViewText(R.id.tvDate, DateFormat.format(date, noteTS));

所以我需要一种简单的方法来定期更新小部件中的 TextView,以便时间变化超过标准的 30 分钟。谢谢

最佳答案

你可以创建HandlerRunnable,然后让Handler在指定的时间重启你的Runnable间隔。您的程序可能如下所示:

private Handler mHandler = new Handler();

@Override
public void onResume() {
    super.onResume();
    mHandler.removeCallbacks(mUpdateClockTask);
    mHandler.postDelayed(mUpdateCLockTask, 100);
}

@Override
public void onPause() {
    super.onPause();
    mHandler.removeCallbacks(mUpdateClockTask);
}

private Runnable mUpdateClockTask = new Runnable() {
    public void run() {
        updateClock();
        mHandler.postDelayed(mUpdateClockTask, 1000);
    }
};

并在 updateClock() 中进行所有 UI 更新。我想所有这一切都发生在 Activity 中,并通过适当的 onPause()/onResume() 调用。

关于android - 定期更新小部件 TextView 的简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15317600/

相关文章:

android - PreferenceCategory.removePreference() 返回 false,因此不会删除首选项

android - 自定义范围搜索栏

android - 有没有人尝试过使用 DialerFilter?

android - 按钮未以线性布局显示

r Shiny : make fileInput widget disappear after file input

android - 将 onclick 小部件更新添加到现有的 AlarmManager 触发器更新

Android:如何设置生成的上下文菜单标题?

java - 暂停时发生未知错误()

android - 如何强制更新配置 Activity ?

java - 在 SWT 文本字段中选择/标记特定单词