Questa app è un esercizio di apprendimento per me che utilizza frammenti, tra le altre cose. Ha una singola attività che gestisce alcuni frammenti diversi. Il primo è un ListFragment (A), che mostra quando l'app si avvia e carica gli elementi della lista da un cursore. Facendo clic su una voce dell'elenco si notifica l'attività per sostituire ListFragment con DetailFragment (B) per quell'elemento. Se mentre guardando (B) I ruotare lo schermo, vedo (B) sopra (A), in questo modo:Frammenti Android sovrapposti dopo la rotazione dello schermo
http://postimage.org/image/uhy016ds7/
La mia ipotesi migliore è che ha a che fare con Android distruzione e ri- creando l'attività su una modifica di configurazione. Mi chiedo quale sia la soluzione più pulita per questo problema. Alcuni snippet di codice seguono, fammi sapere se c'è qualcos'altro che dovrei pubblicare.
res/layout/home.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragment_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<fragment
android:id="@+id/fragment_place_list"
android:name="com.simbiosys.apps.foodfast.ui.PlaceListFragment"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</fragment>
</FrameLayout>
MyActivity.onCreate
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.home);
placeListFragment = (PlaceListFragment) getSupportFragmentManager().findFragmentById(
R.id.fragment_place_list);
}
MyActivity.showDetailPane
public void showDetailPane(String id, String reference) {
placeDetailFragment = PlaceDetailFragment.newInstance(id, reference);
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction ft = fragmentManager.beginTransaction();
ft.addToBackStack(null);
ft.hide(placeListFragment);
ft.replace(R.id.fragment_container, placeDetailFragment);
ft.show(placeDetailFragment);
ft.commit();
}
hai esaminato 'risorse alternative'? http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources –
Bene, mi sto concentrando sugli schermi dei telefoni al momento.In ogni caso, il layout per ListFragment non dovrebbe essere diverso nel panorama. In effetti, non esiste un layout xml per ListFragment poiché tutto ciò che ha attualmente è il ListView integrato. – Karakuri