交易后不会出现片段

时间:2013-01-23 18:03:33

标签: android android-fragments

片段之间的事务有问题。这是代码:

NewItemFragment newItemFrag = new NewItemFragment();
mFragmentManager.beginTransaction()
        .replace(R.id.lytFragmentContainer_mainLayout, newItemFrag, NEW_ITEM_FRAGMENT)
        .addToBackStack(NEW_ITEM_FRAGMENT)
        .commit();

NEW_ITEM_FRAGMENT是一个字符串,用于标记片段。

当我按下UI上的按钮时,总会触发此代码。问题是,有时我必须按两次按钮才能切换碎片。 我说“有时”,因为当我启动应用程序时,按钮工作正常。过了一会儿,我必须按两次按钮,我无法理解原因。

即使片段没有出现,代码也会被执行。

请问好吗?

编辑:下面是按钮的xml

<ImageButton
        android:id="@+id/btnNewItem_itemListFragment"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerVertical="true"
        android:layout_toLeftOf="@id/btnSearch_itemListFragment"
        android:background="@color/button_feedback"
        android:padding="@dimen/padding_8"
        android:src="@drawable/ic_menu_item_light" />

以下是onActivityCreated()中涉及按钮的代码段:

mBtnNewItem = (ImageButton) parentView
            .findViewById(R.id.btnNewItem_itemListFragment);
    mBtnNewItem.setOnClickListener(this);

最后这是按钮cliccked上调用的代码:

case R.id.btnNewItem_itemListFragment:
        mCallbacks.onNewItemClicked();
        break;

onNewItemClicked()是活动中的一个方法,其中是此帖子顶部的代码。

0 个答案:

没有答案