线程等待android,android – 等待UI线程完成

我正在运行一个仪器活动测试.

在那里,我需要在Activity的一个UI元素中执行一些UI操作.

所以我在Activity的UI线程中这样做:

settingsActivity.runOnUiThread(new Runnable() {

@Override

public void run() {

testSwitch.performClick();

}

});

每当我被命中时,无论何时调用执行点击,都无法在onSaveInstanceState之后执行此操作.

我做过的几件事:

>我尝试在代码之后放置Thread.sleep()但它不起作用.

>我没有完成拆除活动.所以,我不知道

活动如何被摧毁.

干杯,

Saurav

解决方法:

只做一件事

没有叫super().

我认为它在API级别上的Bug> 11.

@Override

protected void onSaveInstanceState(Bundle outState) {

//No call for super(). Bug on API Level > 11.

}

要么

如果需要保存实例,并在outState Bundle中添加一些内容,可以使用以下命令:

@Override

protected void onSaveInstanceState(Bundle outState) {

outState.putString("WORKAROUND_FOR_BUG_19917_KEY", "WORKAROUND_FOR_BUG_19917_VALUE");

super.onSaveInstanceState(outState);

}

希望它能解决你的问题.好运:)

标签:android,multithreading,android-testing

来源: https://codeday.me/bug/20190624/1281248.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值