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