首页 > 代码库 > Fragment间的交互

Fragment间的交互

两个单独的Fragment是 不应该进行通信的,应该用他们所在的activity作为 通信的纽带。

为了实现 两个Fragment的交互,我们在Fragment中定义一个接口,然后在中定义 一个方法,在

Fragment的onAttach()方法中调用这个接口中的方法,然后让Activity实现这个方法,来完成 

Activity和Fragment之间的通信 。

public class HttpFragment extends Fragment {
	
	public static HttpFragment newInstance(){
		HttpFragment httpFragment= new HttpFragment();
		Log.e("HttpFragment", "newInstance");
		return httpFragment;
	}
	
	private ChangeTitleCallbacks changeTitleCallbacks;
	/**
	 * this is for change the title 
	 * @author lsj
	 * 2014.8.7
	 */
	public static interface ChangeTitleCallbacks{
		public void onSectionAttached(int number);    
	}
	@Override
	public void onAttach(Activity activity) {
		// TODO Auto-generated method stub
		super.onAttach(activity);
		try {
			changeTitleCallbacks=(ChangeTitleCallbacks)activity;
			changeTitleCallbacks.onSectionAttached(SectionConstant.HTTP_SECTION);
		} catch (ClassCastException e) {
			throw new ClassCastException("Activity must implement ChangTitleCallbacks.");
		}
	}

在MainActivity 中实现 了onSectionAttached();