Android SherlockBar中的碎片附加错误
我使用夏洛克酒吧(http://actionbarsherlock.com/). 有TabListener的代码:Android SherlockBar中的碎片附加错误,android,actionbarsherlock,android-actionbar,Android,Actionbarsherlock,Android Actionbar,我使用夏洛克酒吧(http://actionbarsherlock.com/). 有TabListener的代码: public class TabListener implements ActionBar.TabListener { private String mTag; private Fragment mFragment; public TabListener(String tag) { mTag = tag; // C
public class TabListener implements ActionBar.TabListener {
private String mTag;
private Fragment mFragment;
public TabListener(String tag) {
mTag = tag;
// Check to see if we already have a fragment for this tab, probably
// from a previously saved state. If so, deactivate it, because our
// initial state is that a tab isn't shown.
mFragment = getSupportFragmentManager().findFragmentByTag(mTag);
if (mFragment != null && !mFragment.isDetached()) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.detach(mFragment);
ft.commit();
}
}
public void onTabSelected(Tab tab) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if (mFragment == null) {
if((tab.getPosition()==0) || (tab.getPosition()==1)) {
mFragment = new MainListFragment(ctx, ONLINE_TYPE);
} else {
mFragment = new SimpleFragmentf();
}
ft.add(com.lib.reader.R.id.root2, mFragment, mTag);
ft.addToBackStack(null);
ft.commit();
} else {
ft.attach(mFragment);
ft.commit();
}
}
public void onTabUnselected(Tab tab) {
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.detach(mFragment);
ft.commit();
}
@Override
public void onTabReselected(Tab tab) {
//To change body of implemented methods use File | Settings | File Templates.
}
}
视图的部分代码是:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LinearLayout v = (LinearLayout)inflater.inflate(R.layout.main, container, false);
v.addView(pager);
return v;
}
所有工作,但当我第二次选择任何选项卡时-我得到错误:
The specified child already has a parent. You must call removeView() on the child's parent first.
我想,附加功能中存在这个错误,但是如何解决这个问题呢?您不能像那样向viewpager添加视图。例如,查看Jake Wharton的演示,了解viewpagers的正确实现