问题标签 [android-configchanges]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
3495 浏览

android - Fragment.getArguments() 是否在配置更改后返回传递的参数?

对不起我的英语不好

在通过\进行配置更改期间,我是否应该保存恢复参数(由返回getArguments())?outStatesavedInstanceState

或者getArguments()即使在配置更改后也总是返回传递的参数?

0 投票
0 回答
35 浏览

android - 配置更改导致我的片段进度出现问题

我目前面临一个问题,我想通过不使用谷歌建议的configChangein来正确处理旋转。Manifest但是我真的不明白如何在旋转之后保持我的进度,特别是当你将片段添加到BackStack.

有谁知道如何或一个tutorial,帖子,短信等...解释如何做到这一点?

提前感谢您的回答;)

0 投票
3 回答
827 浏览

android - 了解配置是否更改的最佳方法是什么?

我不确定如何在我的应用程序上获取此信息:如何知道活动何时因配置更改而重新启动?(任何配置更改)。

在我的代码中,如果活动“正常”重新启动但不是因为配置更改,我需要执行一个方法。

0 投票
1 回答
62 浏览

android - Android - 显示旋转时执行代码

我想做的是让它在设备旋转时执行一些代码。

我已经尝试将我想要发生的事情放在上面的代码中,但是,运气不好,我用谷歌搜索了一下,但也找不到任何东西。这可能吗?提前感谢您的帮助!:)

0 投票
0 回答
1314 浏览

java - 为什么我的方向变化没有被注意到?

根据此处接受的答案,我将此代码添加到活动中,作为我希望成为更改活动分配布局的第一步:

...并在 AndroidManifest.xml 中修改了 Activity 的元素。例如,从这里改变它:

...变成这样:

(我添加了“configChanges”爵士乐)。

但是,虽然 mashing keypad.9 确实在模拟器中翻转了方向,但没有引发吐司(onConfigurationChanged() 的“if”行上的断点没有被命中)。我做错了什么或遗漏了什么?

注意:当我从 AndroidManifest 中的“configChanges”行中删除“|keyboardHidden”时没有任何区别(这只是一种预感——我想知道这是否意味着“不注意通过键盘进行的方向更改”)。

更新

我尝试了 araut 的建议,以及 Jared Burrows 的建议但没有一个适合我。

冷这简直是模拟器的问题?我还没有设备来测试它,所以我自己无法凭经验回答这个问题。

更新 2

根据我在这里读到的内容,我想也许添加一些 OrientationEventListener 爵士乐可以解决这个难题,但不是!

这是我添加的代码(在上下文中显示;新的是 OrientationEventListener 的东西):

...但我仍然没有反应(没有从这里或 onConfigurationChanged() 事件引发敬酒)。

0 投票
1 回答
156 浏览

android - Android SDK 版本:configChanges 和不推荐使用的方法

我正在尝试构建一个与低版本 Android 兼容的应用程序。另一方面,我注意到如果我将目标 SDK 版本设置为更高的值(如 19),则某些功能会更好地工作;特别是,动画更加流畅。所以——清单:

此外,虽然应用程序知道如何重新启动自己,但它并没有完全这样做。我更喜欢在不关闭应用程序的情况下处理大小调整。因此,我在清单中有以下内容:

到目前为止,一切都很好。现在,我在 project.properties 中放了什么?

target=android-19显示了很多关于不推荐使用的方法的警告。如果我尝试使用“替换”方法来修复它们,则会导致编译后的代码与 API-7 不兼容。

target=android-7在 Manifest 中给我一个错误,因为screenSize未定义其他一些配置更改选项。

建议?

0 投票
1 回答
1338 浏览

android - 在片段中使用 setRetainInstance(true) 更改旋转时应用程序崩溃

我想要纵向和横向模式的不同布局。此外,我希望我的片段在方向发生变化时保存它们的状态。这里是layout\activity_main.xml

它是layout-land\activity_main.xml

这里是MainActivity

它是Fragment1:

Fragment2 与 Fragment1 相同。

但是,当我以纵向模式开始并旋转到横向模式时,应用程序崩溃了。问题是因为使用setRetainInstance(true),它保存了对 的引用R.id.container,但横向布局中不存在此容器,这是输出:

但据此,必须onRetainInstance在片段中使用来处理方向变化。我现在该怎么办?

提前致谢!

0 投票
1 回答
532 浏览

android - 为不同方向使用不同布局时,在方向更改时保存片段状态

我对纵向和横向模式有不同的布局。layout\activity_main.xml

并且layout-large\activity_main.xml

我的片段是相同的,fragment1.xml并且fragment2.xml

我想要的是当我在片段的编辑文本中输入一些文本并旋转屏幕时,编辑文本不会丢失其输入文本。

由于纵向和横向模式下的片段不是一个实例,我不能使用setRetaintInstanceor onSaveInstanceState。在不定义两个活动且不使用的情况下如何做到这一点onConfigurationChanged

注意:无需添加任何代码,每个片段都会保存其数据。因此,如果我以纵向模式在 fragment2 中输入一些文本并旋转到横向并再次旋转到纵向模式,我会看到输入的文本。

0 投票
0 回答
77 浏览

android - 活动处于纵向模式,但它会在横向模式下找到片段

对于纵向和横向模式,我有 2 种不同的布局:

layout\activity_main.xml

并且layout-land\activity_main.xml

我在 onCreate 中添加 Fragment1:

在 Fragment1 中有一个按钮,当按下该按钮时,将向 Activity 发送回调。这是 MainActivity 中的回调:

当我纵向启动程序并按下按钮时,logcat 上会打印“一个窗格”。

但是当我旋转到横向并立即旋转到纵向然后按下按钮“两个窗格”打印在 logcat 中。为什么会发生这种情况?

0 投票
1 回答
191 浏览

android - 即使指定了 android:configChanges,应用程序也会重新创建?

我在manifest.xml以下标签中指定

并且android:configChanges="Orientation|keyboardhidden|keyboard"意味着避免在“方向”或“键盘隐藏/可见”的情况下重新创建应用程序

在我的 App 类中,我正在调用所有活动的生命周期回调。而且我预计当我旋转/重新定位设备时,不会重新创建应用程序。或者换句话说,以下回调按顺序不会被调用,因为android:configChanges. 回调是onPause() onStop() onDestroy() onCreate() onStart() onResume()每次我旋转设备时,都会重新创建应用程序并调用前面提到的生命周期的回调。

有什么解释为什么会这样吗?