美文网首页
handler.postDelayed 不生效

handler.postDelayed 不生效

作者: 冰珊孤雪 | 来源:发表于2019-04-12 16:41 被阅读0次

    在项目使用 Handler.postDelayed() 延时执行任务,却发现无效,代码如下:

    private Handler mHandler = new Handler();
    boolean ret = mHandler.postDelayed(new Runnable() {
                                            @Override
                                            public void run() {
                                                
                                            }
                                        }, delay);
    Log.d("Nat", "postDelayed:" + ret);
    

    修改后的代码如下:

    private Handler mHandler = new Handler(Looper.getMainLooper());
    boolean ret = mHandler.postDelayed(new Runnable() {
                                            @Override
                                            public void run() {
                                                
                                            }
                                        }, delay);
    Log.d("Nat", "postDelayed:" + ret);
    

    总结:需要给Handler设置一个主线程的 looper

    相关文章

      网友评论

          本文标题:handler.postDelayed 不生效

          本文链接:https://www.haomeiwen.com/subject/joocwqtx.html