gpt4 book ai didi

java - Android方向改变异常

转载 作者:行者123 更新时间:2023-11-29 06:12:54 26 4
gpt4 key购买 nike

我在 Android 的屏幕方向上遇到了困难。在用户在设备上绘制签名后,我有一个捕获签名的 Activity 。对于该 Activity ,我传递了一个可解析对象,并在 oncreate 中获取了它。当 Activity 改变方向时,有时 Activity 无法获取 parceable 对象并给出异常。我尝试将静态对象用于 parceable 对象,但没有用。我也尝试了 onsaveinstance 状态方法和 onRetainNonConfigurationInstance 方法。

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.signature_capture_view);
Bundle bundle = getIntent().getExtras();
info = bundle.getParcelable("info");
logo= (Bitmap) bundle.get("logo");
}

而我的保存实例状态的方法是这样的;

@Override
protected void onSaveInstanceState(Bundle outState) {
outState.putParcelable("info", info);
super.onSaveInstanceState(outState);
}

我从 onconfiguration changed 方法调用 setcontentview 方法来设置新布局。

@Override
public void onConfigurationChanged(Configuration newConfig) {
setContentView(R.layout.signature_capture_view);
super.onConfigurationChanged(newConfig);
}

有时,当方向改变时,setcontentview 方法会发生内存不足异常。

如有任何帮助,我们将不胜感激。提前致谢。

最佳答案

尝试在 AndroidManifest.xml 文件中设置以下 android:configChanges 属性:

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

如果您希望您的应用程序固定为以纵向或横向模式打开,请在 Activity 标签内添加 android:screenOrientation:

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

关于java - Android方向改变异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6176603/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com