我的代码旨在用时间更新EditText
的提示,允许用户输入不同的时间作为文本,或者如果用户没有输入任何类似的话,则使用提示:
mTicker = new Runnable()
{
public void run()
{
time.setHint(new TimeDate().getTime());
long now = SystemClock.uptimeMillis();
long next = now + (1000 - now % 1000);
spaceTimeHandler.postAtTime(mTicker, next);
}
此代码运行,但EditText
保持空白;如果您与setHint
交换setText
,那么一切正常。这是一个错误吗?
我意识到我应该使用DateTimePicker
或其他什么,但我尚未解决这个问题,无论我尝试setHint
使用什么字符串,都会出现此问题。
答案 0 :(得分:0)
mTicker = new Runnable()
{
public void run()
{
runOnUiThread(new Runnable(){
@Override
public void run() {
time.setHint(new TimeDate().getTime());
long now = SystemClock.uptimeMillis();
long next = now + (1000 - now % 1000);
spaceTimeHandler.postAtTime(mTicker, next);
}
});
}
}
将它封装在runOnUiThread中,让我知道它是否有效。