我有这样的主要活动:
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>
答案 0 :(得分:1)
与Ismael Reyes交谈,他找到了答案:
这是Android中的问题:https://code.google.com/p/android/issues/detail?id=18594
并回答:
“[...]编辑src / com / example / android / supportv4 / app / LoaderCustomSupport.java以删除对OnQueryTextListener和onCreateOptionsMenu,onQueryTextChange和onQueryTextSubmit函数的引用[...]”Dianne Hackborn