我花费了大量时间来尝试使用Timer
,BroadcastReceiver
,AlarmManager
等方法。我只需要一种清晰方式来每秒更新小部件或文本视图。
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));
我基本上需要这个来在时间变化或每秒更新时设置文本。我试过的每一种方法都失败了。有人可以给我最好的方法来做这个以及怎么做?
答案 0 :(得分:1)
您可以使用处理程序和线程:
private Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
// update your textview here.
}
};
class TickThread extends Thread {
private boolean mRun;
@Override
public void run() {
mRun = true;
while(mRun) {
try {
sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
mHandler.sendEmptyMessage(0);
}
}