Ta aplikacja jest ćwiczeniem edukacyjnym dla mnie, używając fragmentów, między innymi. Ma jedną aktywność, która zarządza kilkoma różnymi fragmentami. Pierwszym z nich jest ListFragment (A), który pokazuje, kiedy aplikacja się uruchamia i ładuje elementy listy z kursora. Kliknięcie elementu listy powiadamia działanie, które ma zastąpić ListFragment za pomocą funkcji DetailFragment (B) dla tego elementu. Jeśli patrząc na (B) obrócić ekran, widzę (B) na górze (A), tak:Fragmenty Androida nakładające się po obróceniu ekranu
http://postimage.org/image/uhy016ds7/
Mój najlepszy przypuszczenie to, że ma do czynienia ze zniszczeniem Android i ponownie tworzenie działania na zmianę konfiguracji. Zastanawiam się, jakie jest najczystsze rozwiązanie tego problemu. Poniżej znajdują się fragmenty kodu, daj mi znać, jeśli jest jeszcze coś, co powinienem opublikować.
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();
}
czy sprawdziłeś "zasoby alternatywne"? http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources –
Cóż, skupiam się na ekranach telefonów w tej chwili.Układ listy ListFragment i tak nie byłby inny w krajobrazie. W rzeczywistości nie ma układu xml dla ListFragment, ponieważ wszystko, co aktualnie ma, to wbudowany ListView. – Karakuri