DrawerLayout アイテムの 1 つで MapFragment を使用しようとしています。
私の引き出しレイアウト:
private void selectItem(int position) {
switch (position) {
(...)
case 3:
fragment = new MyMapFragment();
break;
(...)
//THIS CODE WORKS WITH ANY OTHER FRAGMENT I CREATED!!!!!!
}
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment)
.commit();
このコードは、MyMapFragment を除いて、すべてのフラグメントで正常に動作し、クラッシュすることはありません。コードは私の他のフラグメントと非常に似ていますが、これ(これのみ)はデバイスの回転時にクラッシュします。
唯一の違いは、ネストされた Fragment を使用していることです。
public class MyMapFragment extends Fragment {
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
mMapFragment = new MapFragment();
GoogleMap map = mMapFragment.getMap();
FragmentTransaction fragmentTransaction =
getChildFragmentManager().beginTransaction();
fragmentTransaction.add(R.id.container, mMapFragment);
fragmentTransaction.commit();
}
何が悪いのかわかりません...
ログキャット:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.*/com.*.MainActivity}: android.app.Fragment$InstantiationException: Unable to instantiate fragment com.*.MyMapFragment$1: make sure class name exists, is public, and has an empty constructor that is public
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2194)