0

尝试获取方法Timer,BroadcastReceiver,AlarmManager等工作所花费的时间量。我需要的只是一个明确方式来更新小部件或textview每秒。清除方法更新小部件TextView

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)); 

我基本上需要这个来设置文本,当时间改变或更新每一秒。我试过的每种方法都失败了。有人可以给我最好的方式来做到这一点,以及如何?

回答

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); 
    } 
} 
+0

我如何调用从OnUpdate中的RemoteViews更新的TextView的? – Timmo 2013-02-23 15:19:30

+0

不知道,如果这是一个额外的问题 - 你最好开始另一个问题。如果我的回答回答了您的原始问题,请将其标记为已接受。 – nmw 2013-02-23 16:13:25