调用该方法即可:
private Fragment getVisibleFragment(){
FragmentManager fragmentManager = MainActivity.this.getSupportFragmentManager();
List<Fragment> fragments = fragmentManager.getFragments();
for(Fragment fragment: fragments){
if(fragment != null && fragment.isVisible())
return fragment;
}
return null;
}
说明:第二行获取当前活动的碎片事务,第三行定义泛型集合用于存放从碎片事务中获得到的碎片,接着迭代器内的作用就是每次判断从泛型集合内抽取的碎片是否满足非空且可视,如果满足就返回该对象。实际上也可以稍加修改来返回前台碎片的Tag或对象名,写法简单这里就不过多赘述。