【发布时间】:2016-09-30 08:27:19
【问题描述】:
我正在尝试与活动中的片段交谈。
在我的 MainActivity 中,我添加了多个片段,没关系。
我的主要要求是如果已经添加了片段,我不想添加。
那么我们如何检查这个条件呢?
请帮我一个。
代码:-
private void intializingFragments(Fragment fragment) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
private View.OnClickListener intialization() {
return new View.OnClickListener() {
@Override
public void onClick(View v) {
int getId = v.getId();
if (getId == R.id.first) {
intializingFragments(new Fragment1());
} else if (getId == R.id.second) {
intializingFragments(new Fragment2());
} else if (getId == R.id.third) {
intializingFragments(new Fragment3());
}
}
};
}
【问题讨论】:
-
使用
getFragmentManager().findFragmentByTag()或者你也可以通过 id 找到,只要确保在事务中添加片段时为片段分配标签。 -
使用 isAdded() 方法检查。 if(yourFragment.isAdded(){//add}else{//not added}