首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >等待UI线程完成

等待UI线程完成
EN

Stack Overflow用户
提问于 2013-11-26 08:13:25
回答 1查看 998关注 0票数 4

我在做一个仪器测试。

因此,我需要在活动的一个UI元素中执行一些UI操作。

因此,我在活动的UI线程中这样做:

代码语言:javascript
复制
settingsActivity.runOnUiThread(new Runnable() {
    @Override
    public void run() {
        testSwitch.performClick();
    }
});

每当调用perform时,每次我都被can not perform this action after onSaveInstanceState击中。

我做了几件事:

  • 我尝试过将Thread.sleep()放在代码之后,但它不起作用。
  • 我不会在拆掉中完成活动的。所以,我不知道活动是如何被破坏的。

干杯,索拉夫

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-26 13:52:56

只需做一件事,不需要超级()。我认为它在API级别上的错误> 11。

代码语言:javascript
复制
@Override
protected void onSaveInstanceState(Bundle outState) {
//No call for super(). Bug on API Level > 11.
}

如果您需要保存实例,并将某些内容添加到您的outState包中,则可以使用以下方法:

代码语言:javascript
复制
@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putString("WORKAROUND_FOR_BUG_19917_KEY", "WORKAROUND_FOR_BUG_19917_VALUE");
super.onSaveInstanceState(outState);
}

希望它能解决你的问题。(好运气:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20211639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档