Android 尝试替换片段时发生IlegalStateException
我想在手机未连接到WiFi网络时显示另一个片段。通常情况下,当没有可用的连接时,我会显示MainFragment ErrorFragment 我正在使用Android 尝试替换片段时发生IlegalStateException,android,android-fragments,Android,Android Fragments,我想在手机未连接到WiFi网络时显示另一个片段。通常情况下,当没有可用的连接时,我会显示MainFragment ErrorFragment 我正在使用mWifi.isConnected()检查是否存在连接 @Override public void onViewCreated(View view, Bundle savedInstanceState) { if (mWifi.isConnected()) { new PostTask(1).execute();
mWifi.isConnected()
检查是否存在连接
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
if (mWifi.isConnected()) {
new PostTask(1).execute();
} else {
MainFragment.firstPageListener.onSwitchToNextFragment();
}
}
这是我切换到ErrorFragment的代码(在MainFragment中),但是它给了我
11-23 20:57:29.588: E/AndroidRuntime(4025): java.lang.IllegalStateException: Recursive entry to executePendingTransactions
这是我的主要活动(我使用的是ViewPager):
我试图用以下方法更改片段:
FragmentManager fragmentManager2 = getFragmentManager();
FragmentTransaction fragmentTransaction2 = fragmentManager2.beginTransaction();
ErrorFragment fragment2 = new ErrorFragment();
fragmentTransaction2.addToBackStack("xyz");
fragmentTransaction2.hide(MainFragment.this);
fragmentTransaction2.add(android.R.id.content, fragment2);
fragmentTransaction2.commit();
但是当我滑动到另一个选项卡时,片段重叠了。。。该怎么办?谢谢
(拇指朝下是ErrorFragment,按钮和开/关开关在ListFragment中)
尝试删除
fragmentTransaction2.hide(MainFragment.this);
改变
fragmentTransaction2.add(android.R.id.content,fragment2);
到
fragmentTransaction2.replace(android.R.id.content,fragment2)
FragmentManager fragmentManager2 = getFragmentManager();
FragmentTransaction fragmentTransaction2 = fragmentManager2.beginTransaction();
ErrorFragment fragment2 = new ErrorFragment();
fragmentTransaction2.addToBackStack("xyz");
fragmentTransaction2.hide(MainFragment.this);
fragmentTransaction2.add(android.R.id.content, fragment2);
fragmentTransaction2.commit();