我有两个片段:
- 第一个片段由中间的一个大按钮组成 - 我
OnClickListener
为此视图设置了一个(以编程方式),一旦单击,它将第一个片段替换为第二个片段。 - 第二个片段是一个空片段
首先,我显示片段编号。1. 然后我按下按钮,正如预期的那样,我看到了第二个片段。
问题:一旦显示第二个片段并且我单击它的中间 - 它会触发第一个片段OnClickListener
中按钮后面的代码,即使我目前正在显示一个没有按钮的空片段。
想法?
这是代码:
public void onLargeButtonClick(View view){
secondFragment fragment = new secondFragment();
fragmentFactory.replaceFragment(fragment);
}
void replaceFragment(Fragment fragment){
FragmentManager fragmentManager = activity.getSupportFragmentManager();
String fragmentName = fragment.getClass().getSimpleName();
Fragment existingFragment = fragmentManager.findFragmentByTag(fragmentName);
if (existingFragment != null)
fragmentManager.popBackStack(fragmentName, FragmentManager.POP_BACK_STACK_INCLUSIVE);
FragmentTransaction ft = activity.getSupportFragmentManager().beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.replace(R.id.first_fragment, fragment);
ft.addToBackStack(null);
ft.commit();
}
主布局包含我替换的片段
<fragment
android:name="com.app.firstfragment"
android:id="@+id/first_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
</fragment>