【发布时间】:2019-11-13 06:12:28
【问题描述】:
单击每个片段中的 textView 时,我正在添加下一个片段。
我的流程是 MainActivity => 片段 A => 片段 B => 片段 C => 片段 D
但是每次我在 Fragment D 中单击 textView 时,都会添加 Fragment D 并且返回堆栈计数会增加。 我在 Fragment D 中没有任何点击监听器。那么为什么会这样呢?
这是我的 MainActivity =>
buttonAddFragment.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
AFragment fragment = new AFragment();
addFragment(fragment, "MainActivity");
}
});
public void addFragment(Fragment fragment, String callingFrom) {
Log.e("Call =>", callingFrom);
fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragmentContainer, fragment, "demoFragment");
fragmentTransaction.addToBackStack("tag");
fragmentTransaction.commit();
}
片段 A =>
mTextViewClick = view.findViewById(R.id.mTextViewClick);
mTextViewClick.setText("A Fragment");
mTextViewClick.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
BFragment fragment=new BFragment();
((MainActivity)getActivity()).addFragment(fragment,"Fragment A");
}
});
所有片段的代码都与片段 A 相同
【问题讨论】:
-
我试过了,但它不适合我
标签: android android-fragments fragment-backstack