您的位置:首页 > 其它

Activity得到当前fragment实例

2015-11-11 17:43 369 查看

Activity得到当前fragment实例

许多童鞋会用到fragment,利用activity去管理,而由于可能涉及到动态加载fragment或者利用java反射机制得到新的fragment去填充布局,导致很多时候我们需要去获取得到当前fragment实例。

例如下例:调用switchContent方法需要传入当前fragment和切换的fragment来保证fragment不被多次创建。利用show和hide方法,将fragment保存在内存中,这样view pager的切换,fragment将会调用on resume方法。

public void switchContent(Fragment from, Fragment to) {
if (mContent != to) {
mContent = to;
FragmentTransaction transaction = mFragmentMan.beginTransaction().setCustomAnimations(
android.R.anim.fade_in, R.anim.slide_out);
if (!to.isAdded()) {    // 先判断是否被add过
transaction.hide(from).add(R.id.content_frame, to).commit(); // 隐藏当前的fragment,add下一个到Activity中
} else {
transaction.hide(from).show(to).commit(); // 隐藏当前的fragment,显示下一个
}
}
}


获取当前activity的当前fragment

Fragment from=manager.findFragmentById(R.id.content_frame);


其中findFragmentById是FragmentManager中得方法,传入的int 是fragment对应的activity容器。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  fragment