片段之间的事务有问题。这是代码:
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()是活动中的一个方法,其中是此帖子顶部的代码。