如何在一个fragment or 任意类中操作另一个fragment中的方法
2014-04-19 09:12
459 查看
1 如何在acitivty中执行fragment中的方法:
首先获得这个Fragment的对象
2 如何在Fragment中执行activity中的方法:
第一种:让acitivity继承接口
第二种:在fragment中使用getActivity()但是要加上acitivity的名字,即:
3 如果在fragment中要操作一个fragment,首要要得到这个对象,如何得到?使用getActivity中的FragmentMnager的getFragmentByTag,然后就可以使用这个fragment的对象来操作他的方法了。
当然获得这个Fragment的时候要转成这个Fragment的一个对象eg:
4 如何在任意类中操作一个fragment,首先要得到环境参数,如何得到?
在activity中:
OK 上面已经介绍了所有类和fragment之间的调用关系了。
首先获得这个Fragment的对象
xxxFragment fragmentObject = (xxxFragment) getFragmentManager.findFragmentByTag("xx");
2 如何在Fragment中执行activity中的方法:
第一种:让acitivity继承接口
第二种:在fragment中使用getActivity()但是要加上acitivity的名字,即:
((MainActivity)getActivity()).xxx();
3 如果在fragment中要操作一个fragment,首要要得到这个对象,如何得到?使用getActivity中的FragmentMnager的getFragmentByTag,然后就可以使用这个fragment的对象来操作他的方法了。
当然获得这个Fragment的时候要转成这个Fragment的一个对象eg:
FragmentManager fm = getActivity.getSupportFragmentManager();
xxxFragment = (xxxFragment)fm.findFragmentByTag("xxx")
4 如何在任意类中操作一个fragment,首先要得到环境参数,如何得到?
在activity中:
private static WeakReference<ActionButtonActivity> actionButtonActivty = null;
actionButtonActivty = new WeakReference<ActionButtonActivity>(this);从activity中将这个actionButtonActivity对象传递到这个任意类中
asyncTask.setActivity(actionButtonActivty);在任意类中:
private static WeakReference<ActionButtonActivity> actionButtonActivty;
public void setActivity( WeakReference<ActionButtonActivity> actionButtonActivty) { this.actionButtonActivty = actionButtonActivty; }
/** * this method is invoked on the UI thread after the background computation * finishes. The result of the background computation is passed to this step * as a parameter. */ @Override protected void onPostExecute(Bitmap result) { super.onPostExecute(result); FragmentManager fm = actionButtonActivty.get().getFragmentManager(); FragmentTransaction ft = fm.beginTransaction(); BFragmentTab_one_event_details bt_det = (BFragmentTab_one_event_details) fm .findFragmentByTag("2_det"); bt_det.setEvidenceImage(result); bt_det.setButtonClickable(); ft.addToBackStack(null).commit(); }
OK 上面已经介绍了所有类和fragment之间的调用关系了。
相关文章推荐
- 怎样在一个fragment or 随意类中操作还有一个fragment中的方法
- C# winform中一个类中如何调用另一个窗体的控件或方法
- 如何在一个java类main方法中调用另一个类中的main方法
- 如何在一个类中访问另一个类的方法?
- 在一个Activity中结束另一个Activity的方法;如何是从A跳转到B, 结束A的;关于Activity在后台被销毁的处理;关于Activity在后台被销毁的处理
- 一个jsp中用esayui dialog 弹出另一个jsp,并操作另一个jsp中js的变量和方法
- C# winform中一个类中如何调用另一个窗体的控件或方法
- 任意类,非acvitity类操作Fragment的方法,Fragment与任意类通信
- List的All方法使用问题:我用List1的All方法来确保List1的所有每个数组元素中是否包含Arr1中的任意元素,这个部分很难实现。 因为,没有一个数组中是否包含另一个数组中的任意元素这个功能
- unity3d 一个c#类如何调用另一个c#类中的属性和方法
- 如何从fragment中点击一个Button跳到另一个activity
- 如何向一个Fragment传递参数---setArguments方法的介绍
- ASP.NET MVC WebApi 返回数据类型序列化控制(json,xml) 用javascript在客户端删除某一个cookie键值对 input点击链接另一个页面,各种操作。 C# 往线程里传参数的方法总结 TCP/IP 协议 用C#+Selenium+ChromeDriver 生成我的咕咚跑步路线地图 (转)值得学习百度开源70+项目
- 一个类如何使用另一个类的private、protected方法
- JS如何封装一些列方法为一个对象的操作,然后集中管理这些操作,方便修改和调用
- C#一个线程操作另一个线程的控件的方法
- 如何在一个窗体中调用另一个窗体的控件或方法
- 主Activity中如何获取Viewpager下其中一个fragment的方法?
- sql server 如何在一个数据库中操作另一个数据库中的数据
- javascript操作两个选择列表(有两个列表,如何实现在一个列表通过双击和多选列表中内容添加到另一个列表. )