标签:
在Fragment类中,有个方法 public void onAttach(Activity activity),在子Fragment中重写该方法,从该方法的参数中可以看出,该方法中的Activity是加载Fragment的Activity,所以可以通过该方法寻找Fragment的Activity;
在Activity类中,有个方法 public void onAttachFragment(Fragment fragment),api中是这么描述该方法的作用:
/**
* Called when a fragment is attached to the activity.
*/
所以在子Activity中重写该方法,可以通过该方法寻找Activity所加载的Fragment ;
可以定义两个接口,例如:
public interface GetActivityMethod { void getActivityMethod(); } public interface GetFragmentMethod { void getFragmentMethod(); }Activity实现GetActivityMethod接口,Fragment实现GetFragmentMethod接口;在onAttch(Activity activity)和 onAttachFragment(Fragment fragment)方法中,分别如下所示:
private GetActivityMethod activityMethod; @Override public void onAttach(Activity activity) { super.onAttach(activity); try { activityMethod= (GetActivityMethod) activity; } catch (Exception e) { e.printStackTrace(); } }
private GetFragmentMethod getFragmentMethod; @Override public void onAttachFragment(Fragment fragment) { super.onAttachFragment(fragment); try { getFragmentMethod= (GetFragmentMethod) fragment; } catch (Exception e) { e.printStackTrace(); } }
button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (getFragmentMethod!=null)getFragmentMethod.getFragmentMethod(); } });
标签:
原文地址:http://blog.csdn.net/zouchengxufei/article/details/42875899