问题描述
- 判断当前Activityl里面显示的是哪个Fragment??
-
如题,我有一个Activity 最顶端有个按钮.下面是个FrameLayou.
Activity一上来就将下面的FrameLayout add 一个Fragment. 暂且叫他AFragment.
然后我点击按钮.判断下面显示的是不是AFragmetn. 如果是 ,就将AFragment换成BFragment. 如果不是AFragmetn 就finish(); 怎么做. 我代码写了好多回了. 求大神帮助
解决方案
iOS 判断控制器是不是当前显示的控制器
求助:怎么让android中fragment里面的fragment显示同步!!!!
Android总结:正确判断当前的Fragment是显示还是隐藏
解决方案二:
首先你建两个Fragment(AFragment和BFragment),定义一个boolean变量(isA=false),默认显示在FrameLayout区域显示AFragment,在
oncreat()方法里调用setDeafultFragment();
private AFragment a ;
private BFragment b ;
private void setDeafultFragment(){
if(a == null){
a = new AFragment();
}
replaceFragmentWithSelected(a);
isA = true;
}
在点击按钮时判断isA是否为true,如果为true则显示BFragment,否则显示AFragment;
public void onClick(View view){
switch(view.getId()){
case R.id.button:
if(a == null){
a = new AFragment();
}
if(b == null){
b = new BFragment();
}
if(isA){
replaceFragmentWithSelected(b);
isA = false;
}else{
replaceFragmentWithSelected(a);
}
break;
}
}
解决方案三:
忘了在case语句里的if判断isA的时候,在else里面加上个isA=true;
解决方案四:
你添加fragment之后会得到它的实例啊。
通过**instanceof ** 判断是否是A 或者B的实例 就行了。