gpt4 book ai didi

android - "Activity has been destroyed"在设备旋转后使用带 fragment 的 map

转载 作者:行者123 更新时间:2023-11-30 01:45:35 25 4
gpt4 key购买 nike

尝试旋转设备后出现此异常:

java.lang.IllegalStateException: Activity has been destroyed.

在我的 OnCreate() 中,我做的很简单:

FragmentTransaction fragTx = FragmentManager.BeginTransaction();
_myMapFragment = MapFragment.NewInstance(mapOptions);
fragTx.Replace(Resource.Id.map, _myMapFragment, "map");
fragTx.Commit();

而且我还试图在我的 OnDestroy() 中删除 mapfragment,如下所示:

FragmentTransaction fragTx = FragmentManager.BeginTransaction();
fragTx.Remove(_myMapFragment);
fragTx.CommitAllowingStateLoss();

提前感谢您对此问题的任何帮助。

这是我的 Main.axml 的样子:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" />
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_below="@id/toolbar">
<AutoCompleteTextView
android:hint="Nazwa ulicy w Warszawie"
android:id="@+id/txtTextSearch"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:imeOptions="actionSearch"
android:imeActionId="@+id/txtTextSearch"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp" />
</LinearLayout>
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
class="com.google.android.gms.maps.MapFragment" />
<Button
android:text="Moja lokalizacja"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:id="@+id/btnLocalizeMe"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp"
android:background="@android:color/holo_orange_dark" />

还有我的 MainActivity 的 header :

public class MainActivity : AppCompatActivity, 
GoogleApiClient.IConnectionCallbacks,
GoogleApiClient.IOnConnectionFailedListener,
ILocationListener

最佳答案

尝试放

<activity
android:name=".MainActivity"
android:configChanges="orientation|screenSize" />

在 Activity 中

@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);

// Checks the orientation of the screen
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
Toast.makeText(this, "landscape", Toast.LENGTH_SHORT).show();
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
Toast.makeText(this, "portrait", Toast.LENGTH_SHORT).show();
}
}

关于android - "Activity has been destroyed"在设备旋转后使用带 fragment 的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33774605/

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