为什么我的应用会显示错误标签中的内容?

时间:2014-05-17 13:16:40

标签: android tabs android-actionbar

我的应用标签出现问题。 我有三个选项卡,并将第二个选项卡设置为每当使用此代码启动应用程序时显示的选项卡:

getActionBar().setSelectedNavigationItem(1);

在我使用此命令后,我的应用程序始终以我想要的选项卡开始,但它也向我显示了第一个选项卡的内容(所以内容为:选项卡2 +覆盖了tab1中的内容)

在我从有问题的标签手动切换到选项卡后,还会显示内容,然后再次显示内容正常。

有人知道如何解决这个问题吗?

public class TabListener <T extends Fragment> implements ActionBar.TabListener{

    private final Activity myActivity;
    private final String myTag;
    private final Class myClass;

    public TabListener(Activity activity, String tag, Class<T> cls) {
        myActivity = activity;
        myTag = tag;
        myClass = cls;
    }
    @Override
    public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {

        Fragment myFragment = myActivity.getFragmentManager().findFragmentByTag(myTag);

        if (myFragment == null) {
            myFragment = Fragment.instantiate(myActivity, myClass.getName());
            ft.add(android.R.id.content, myFragment, myTag);
        } else {
            ft.attach(myFragment);
        }

    }

    @Override
    public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {

        Fragment myFragment = myActivity.getFragmentManager().findFragmentByTag(myTag);

        if (myFragment != null) {
            ft.detach(myFragment);
        }

    }

    @Override
    public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
        // TODO Auto-generated method stub

    }

    }

0 个答案:

没有答案