У меня есть основная деятельность следующим образом:Переключения фрагментов в навигационной панели
public class EntryPoint extends SherlockFragmentActivity implements ActionBar.OnNavigationListener
И два фрагмента, которые я только хочу, чтобы переключиться, когда вы выбираете один пункт в панели навигации, так что у меня есть этот метод, работающий в Nexus 7 (целевая версия 4.2.2), но не в Xperia Neo V (целевая версия 4.0.3). Первый фрагмент появляется без проблем, но когда я перехожу к другому фрагменту, я отлаживаю его, и он не выполняет метод onCreate или onCreateView. И вот почему это путем исключения при попытке доступа к списку в фрагментах. Самое странное, что в Nexus 7 работает отлично, но в SonyEriccson no.
@Override
public boolean onNavigationItemSelected(int position, long id) {
// When the given dropdown item is selected, show its contents in the
// container view.
int section = position + 1;
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
if (section == 1) {
ft.add(R.id.container,new FavCityListFragment());
} else if (section == 2) {
ft.remove(getFav());
ft.add(R.id.container,new CityListFragment());
ft.addToBackStack(null);
}
ft.commit();
return true;
}
Эти два фрагмента, как этот:
public class CityListFragment extends SherlockListFragment implements
com.actionbarsherlock.widget.SearchView.OnQueryTextListener {
И контейнер:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".EntryPoint"
tools:ignore="MergeRootFrame" >
</FrameLayout>