Android 旋转防止 .post() 或 UI 线程运行,与网络调用相关

Posted

技术标签:

【中文标题】Android 旋转防止 .post() 或 UI 线程运行,与网络调用相关【英文标题】:Android rotation prevents from .post() or UI thread running, related to network call 【发布时间】:2013-08-10 23:22:07 【问题描述】:

在我的应用程序中,更改屏幕方向后,我无法编辑任何 UI 元素。

    在 FragmentActivity 中定义: 静态处理程序 uiHandler;

    在单独线程的 Fragment 中运行:

uiHandler.post(new Runnable() public void run() chcemhovoritback.setBackgroundColor(Color.MAGENTA);

我已经在应用程序中运行了一篇 post() 如果我在方向改变之前运行它,没问题。

【问题讨论】:

【参考方案1】:

当方向改变时,会重新创建活动。为了防止这种情况发生,请将以下内容添加到androidManifest.xml 中的<activity> 标记中(我想知道为什么它不是默认行为):

<activity
        ...
        android:configChanges="orientation|keyboardHidden|screenSize" >

【讨论】:

以上是关于Android 旋转防止 .post() 或 UI 线程运行,与网络调用相关的主要内容,如果未能解决你的问题,请参考以下文章

防止在Android中的屏幕旋转对话框解除

旋转时固定位置

Android:如何在手机旋转后阻止创建新线程

Android 片段不保存状态,在旋转/屏幕锁定/返回时崩溃

Flutter:如何防止我的主要小部件旋转并仍然跟踪它的方向?

Android - 检测反向横向