マップフラグメントを他のフラグメントに変更する際に問題が発生しました。(リストフラグメントまたはテキスト) テキストのみのフラグメントに fragmenttransaction を使用する場合。マップはまだそこにあり、新しいフラグメントがマップ上にあります。マップを削除できません。
私はそれを検索しましたが、良いアプローチが見つかりませんでした。誰かがいくつかのアイデアを提供できますか?
これはメインのアクティビティです。アクティビティを拡張するもので、ここにコードを入力してください
protected void onCreate(Bundle savedInstanceState) {
if (android.os.Build.VERSION.SDK_INT > 9) {
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
}
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager myfm = getFragmentManager();
FragmentTransaction ft = myfm.beginTransaction();
mymap = new StartFragment();
ft.add(R.id.map, mymap);
ft.commit();
これは activity_main のフラグメントです。
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_below="@+id/Deerfield"
android:layout_width="match_parent"
android:layout_height="match_parent" />
これは start_fragment クラスです
public class StartFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.map_layout,null);
return view;
}
}
次に、map_layout
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/map"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
class="com.google.android.gms.maps.MapFragment"/>
ありがとうございました!