动画师只能在Sherlock Action Bar上的Looper线程上运行

时间:2014-04-02 06:45:43

标签: android multithreading actionbarsherlock

我希望在1秒延迟后隐藏操作栏,

Timer().schedule(new TimerTask() {
                        @Override
                        public void run() {
                                getSupportActionBar().hide();
                        }
                    }, 1000);

运行代码后崩溃..

  

android.util.AndroidRuntimeException:动画师只能运行   循环线程

这个问题有什么解决方案吗?感谢。

2 个答案:

答案 0 :(得分:22)

使用

解决了这个问题
new Handler().postDelayed(new Runnable() {
                        @Override
                        public void run() {
                                getSupportActionBar().hide();
                        }
                    }, 1000);

答案 1 :(得分:1)

new Handler(Looper.getMainLooper()).postDelayed(new Runnable() {
@Override
public void run() {
    // Your Code
}
}, 1000);

使用它是因为不推荐使用无参数构造函数处理程序。