My Glass应用非常简单。我有一张静态卡,我设置了它的文本并显示在被覆盖的" onCreate()"我的活动方法:
myCard.setText("First text");
View cardView = myCard.getView();
// Display the card we just created
setContentView(cardView);
我想睡5秒然后显示" Second Text"给用户。 StackExchange上的一个早期问题讨论了如上所示的新视图,并再次调用setContentView()。
到目前为止这很好,但我天真的问题是,我在哪里睡觉并重置内容视图?显然我不能睡在" onCreate()"或" onStart()"活动,因为还没有为用户呈现显示。我有一个简单的服务。在服务?我在某处创建一个线程并使用它吗?谢谢!
答案 0 :(得分:1)
无需启动新线程或睡眠。您可以使用Android的Handler.postDelayed
方法执行此操作,该方法会在稍后的时间点发布要在UI线程上执行的任务。
public class MyActivity {
private Handler mHandler = new Handler();
@Override
protected boolean onCreate() {
myCard.setText("First text");
View cardView = myCard.getView();
// Display the card we just created
setContentView(cardView);
mHandler.postDelayed(new Runnable() {
@Override
public void run() {
updateCard();
}
}, 5000 /* 5 sec in millis */);
}
private void updateCard() {
// update the card with "Second text"
}
}