首页 > 代码库 > 怎样在一个fragment or 随意类中操作还有一个fragment中的方法
怎样在一个fragment or 随意类中操作还有一个fragment中的方法
1 怎样在acitivty中运行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中的方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。