在Runnable期间,setHint失败

时间:2012-05-01 02:47:36

标签: android android-edittext runnable

我的代码旨在用时间更新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使用什么字符串,都会出现此问题。

1 个答案:

答案 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中,让我知道它是否有效。