performClick()无法正常工作,因为它位于不同的线程中

时间:2016-04-29 02:06:59

标签: android android-studio

所以基本上我想在我的Android应用中使用计时器模拟按钮点击。

当计时器熄灭时,我找到按钮然后尝试使用performClick()崩溃并关闭应用程序。

日志当然使问题非常明确:"只有创建视图层次结构的原始线程才能触及其视图。"这是完全有道理的。杜!

但我认为,因为它是我的所有应用程序,有一种方法可以正确地执行此操作吗?

1 个答案:

答案 0 :(得分:1)

您可以在后台线程中使用runOnUiThread()以更新UI线程:

      try {
            runOnUiThread(new Runnable() {

                @Override
                public void run() {
                    //Run your functions here 
                }
            });
        } catch (InterruptedException e) {
            e.printStackTrace();
        }