Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当方向发生变化时,活动将继续重新启动_Java_Android_Android Activity - Fatal编程技术网

Java 当方向发生变化时,活动将继续重新启动

Java 当方向发生变化时,活动将继续重新启动,java,android,android-activity,Java,Android,Android Activity,当屏幕旋转或用户在手机上滑动键盘时,如何防止活动重新启动?这可能吗?有什么工作吗?非常感谢所有相关的答案。您可以通过在manifest.xml中的活动元素中声明一个特定属性来实现这一点。所讨论的元素名为android:configChanges,您需要注册orientation的字符串值 <activity android:name=".MyActivity" android:configChanges="orientation" android:label="@s

当屏幕旋转或用户在手机上滑动键盘时,如何防止活动重新启动?这可能吗?有什么工作吗?非常感谢所有相关的答案。

您可以通过在
manifest.xml
中的
活动
元素中声明一个特定属性来实现这一点。所讨论的元素名为
android:configChanges
,您需要注册
orientation
的字符串值

<activity android:name=".MyActivity"
      android:configChanges="orientation"
      android:label="@string/app_name">

现在,当这些配置中的一个发生更改时,MyActivity就不存在了 重新启动。相反,该活动会收到对的调用 OnConfiguration已更改()。此方法被传递给一个配置对象 指定新设备配置的。通过读取 配置,您可以确定新的配置并 通过更新界面中使用的资源进行适当的更改。 调用此方法时,您的活动的资源对象为 已更新以基于新配置返回资源,因此您可以 无需重新启动系统,即可轻松重置UI元素 活动


因此,这样做将导致您的
活动
无法重新启动,并且还会回调到
onConfigurationChanged()
,以便您可以自己处理更改。

如果您阅读文档,您将看到您可以在清单中指定以下内容:


方法来接收有关方向更改的通知,或者只使用基类的实现。

您能给我一些示例代码吗?我似乎无法让它工作。你似乎无法让它工作的是什么?你能通过编辑来更新你的问题吗?如果您提及您尝试过的内容以及具体不起作用的内容,这会很有帮助。除了“方向”之外,根据您的问题,您可能还希望添加相关的键盘配置更改以处理键盘操作,因此您可能希望输入的值为“方向|键盘|键盘隐藏”。正如Nicholas所说,您可能希望/需要处理OnConfiguration Changed()yourself@Arvin这两个答案相隔4分钟。这个答案不太可能是一个“副本”,只是一个同时发布的等价答案。这种事经常发生,没什么大不了的。人们通常会对较早的答案投更多的赞成票,除非后来的答案确实增加了一些有用的东西。你的评论听起来像是酸葡萄,因为你自己的答案被否决了。