当前位置: 首页 > 面试题库 >

Android的onConfigurationChanged没有被调用

吕修伟
2023-03-14
问题内容

我在告诉Android
onCreate()方向更改时不打电话时遇到了麻烦。我已添加android:configChanges="orientation"到清单中,但仍在onCreate()调用方向更改时添加。这是我的代码。

AndroidManifest.xml

<activity android:name="SearchMenuActivity" android:theme="@android:style/Theme.NoTitleBar" android:configChanges="orientation"></activity>

SearchMenuActivity.java

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // Set the current layout to the search_menu
    setContentView(R.layout.search_menu_activity);

    Log.d(TAG, "onCreate() Called");
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
    //don't reload the current page when the orientation is changed
    Log.d(TAG, "onConfigurationChanged() Called");
    super.onConfigurationChanged(newConfig);
}

还有我的LogCat输出

06-23 12:33:20.327: DEBUG/APP(2905): onCreate() Called
//Orientation Changes
06-23 12:33:23.842: DEBUG/APP(2905): onCreate() Called

有人知道我在做什么错吗?谢谢。


问题答案:

要尝试的几件事:

android:configChanges="orientation|keyboardHidden|screenSize" 而不是
android:configChanges="orientation"

确保您没有setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);在任何地方打电话。这将导致onConfigurationChange()无法触发。

检查android:screenOrientation清单中是否没有使用。

如果这些都不起作用,请通读Android文档以处理运行时更改,并确保您正确执行了所有操作。您的代码中的其他地方可能会引起问题。http://developer.android.com/guide/topics/resources/runtime-
changes.html

编辑:正如derrik指出的那样,我假设您正在使用加速度计更改设备配置,以检测设备朝向的方向。如果要在显示/隐藏键盘时更改配置,清单中的configChanges也必须包括在内keyboardHidden



 类似资料:
  • 问题内容: 我遵循了这里的各种问题和答案来设置我的Android活动以覆盖,以便在软键盘打开和关闭时执行逻辑。这是我的代码的相关摘录。我将其归结为最简单的情况: AndroidManifest.xml SearchActivity.java 当我更改方向时,上面的代码将显示Toast,但在软键盘打开或关闭时,则无任何作用。我已经测试过通过EditText聚焦打开软键盘,并通过长按菜单按钮手动打开它

  • 问题内容: 您能帮忙检查一下为什么doFilter没有被调用吗 web.xml: 类签名: 调用http:// localhost:8080 / hello / world时 返回404 ,我在doFilter处设置了断点,看来doFilter没有被调用?(我尝试了tomcat 6.0.18、6.0.29,jdk1.6) 问题答案: 在以下情况下将不会调用该过滤器: 过滤器类在类路径中丢失和/或不

  • 问题内容: 我正在开发具有以下功能的条形码扫描应用程序: •访问设备相机,在SurfaceView上预览相机,并自动重新对焦 •Attemtps使用两种方法解码条形码 a)在使用 onTouchEvent(MotionEvent event)的 SurfaceView touch上,尝试拍摄条形码的图片,但获取 java.lang.RuntimeException:takePicture失败 b)

  • 在我应用程序清单中,我添加了Android:ConfigChanges来防止活动重新加载/在rotate上重新启动 它起作用了,但是supportActionBar(我使用的是AppCompat)用小字体保留了他的高度。 ActionBar在纵向上应该更大,在横向上应该更小,但它保持了初始值: null

  • 问题内容: 我正在尝试在Angular中实现d3指令,这很困难,因为在视觉上什么也没有发生,并且在控制台上没有抛出任何错误。 这是我的d3指令: 这是我的HTML: 起初我以为不是要附加,因为要检查看起来像的元素,但是现在我认为该指令根本没有在运行。我从一开始就将其嵌入其中,也没有出现。我缺少简单的东西吗? 编辑: 我尝试将顶行更改为 但这也不起作用。我什至不知道两个标题之间有什么区别… 问题答案

  • 我编写了一个代码来启动活动A到活动B,活动A和B都有片段实现。 场景:如果活动A经常启动包含碎片的活动B,那么大多数时候它都错过了碎片。ondetach...我检查了日志,通常它会给我下面的重写方法日志: null null 我在用 我有什么遗漏吗?有什么建议吗?