google maps v2 android ładuje po raz pierwszy, a następnie przełączam się na inne fragmenty, które działają, gdy wracam do fragmentu mapy, który się zawiesza. Załączam poniższy kod: Naprawdę doceniam każdy pomoc. Dzięki za Advance. Kodandroid map v2 awarie po ponownym otwarciu w fragmencie
na mapie w fragmentMain:
kodpublic class FragmentMain extends Fragment {
TextView textView;
static final LatLng HAMBURG = new LatLng(53.558, 9.927);
static final LatLng test = new LatLng(53.551, 9.993);
private GoogleMap map;
public FragmentMain() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_main, null);
map = ((SupportMapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();
Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
.title("Hamburg"));
Marker test = map.addMarker(new MarkerOptions()
.position(test)
.title("test")
.snippet("test")
.icon(BitmapDescriptorFactory
.fromResource(R.drawable.ic_launcher)));
// Move the camera instantly to hamburg with a zoom of 15.
map.moveCamera(CameraUpdateFactory.newLatLngZoom(HAMBURG, 15));
// Zoom in, animating the camera.
map.animateCamera(CameraUpdateFactory.zoomTo(10), 2000, null);
return view;
}
}
za główną działalność:
FragmentManager fm = MainActivity.this.getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
Fragment fragment = null;
if(selectedItem.compareTo("second") == 0) {
fragment = new FragmentMain();
} else if(selectedItem.compareTo("third") == 0) {
fragment = new FragmentButton();
} else if(selectedItem.compareTo("first") == 0) {
fragment = new FragmentCheckBox();
}
if(fragment != null) {
// Replace current fragment by this new one
ft.replace(R.id.activity_main_content_fragment, fragment);
ft.commit();
// Set title accordingly
tvTitle.setText(selectedItem);
}
Błąd:
FATAL EXCEPTION: main
android.view.InflateException: Binary XML file line #83: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.mapsfragment.maps.FragmentMain.onCreateView(FragmentMain.java:32)
to powoduje IllegalSTateException, ponieważ chcielibyśmy zmienić stan fragmentu po wywołaniu metody onSaveINstance()! –
spróbuj tego ft.commitAllowingStateLoss(); – Hardik
to jest problem Api> 11 można zobaczyć tutaj http://stackoverflow.com/questions/7469082/getting-exception-ilegalstateexception-can-not-perform-thisaction-after-onsa – Hardik