android - onConfigurationChanged-它仍然显示第一个布局

标签 android android-manifest

我有一个处理配置更改的 Activity 。但现在我必须改变 布局。我尝试在 onConfigurationChanged 回调中再次设置布局并希望获得正确的布局(土地)但它仍在显示 纵向 View 的第一个布局(有两个布局(同名)放在 res/ 布局和 res/layout-land :)

如果我删除 android:configChanges="orientation",它应该可以工作,但我需要处理 onConfigurationChanged。我应该怎么办??

最佳答案

如果您在 /res/layout 中有纵向布局 main.xml,在 /中有横向布局 main.xml res/layout-land,你的 onConfigurationChanged() 看起来像这样:

    public void onConfigurationChanged(Configuration newConfig) {
            super.onConfigurationChanged(newConfig);                
            setContentView(R.layout.main);
    ...
    ...
    ...

    }

在你的 list 中你应该有 android:configChanges="keyboardHidden|orientation"

然后它应该可以正常工作,就像在我的应用程序中一样。这是你在做什么?

关于android - onConfigurationChanged-它仍然显示第一个布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4003225/

相关文章:

java - 如何抓取 JSON 数组并使用 gson 解析每个 json 对象? (改造)

php - 文件上传成功,但服务器中没有照片(phonegap android)

java - 如何滑动删除卡片(使用 appcompat v7 的 CardView)

android - 缺少主调度程序的模块

android - 使用ManifestMerger删除am Activity 组件

AndroidManifest.xml 中的 Android 兼容性设置

android - 我的应用程序显示 "This item is not compatible with your device"

android - 如何为带有 $ 符号的 Class 的元素编写选择器

java - 我应该将基本 Activity 添加到 list 文件中吗?

android - 如何在 android list 中使用 <edit-config> 设置工具命名空间