Android Fragment与Activity通过回调实现通信
2017-04-07 12:51
507 查看
1.首先在Fragment中声明一个监听器接口
import android.app.Activity; public class BlackListFragment extends ListFragment implements View.OnClickListener{ ... OnArticleSelectedListener mListener; /** * 传递事件: * * 1.定义接口 * * 2.在onAttach方法中检测Activity或其他Fragment是否已经实现接口 * * 3.在Fragment的某个地方调用接口实例,如监听中调用,通过实例调用接口中的方法 * * 4.在Activity中实现接口,实现接口的方法即可 * * */ // Container Activity must implement this interface public interface OnArticleSelectedListener { public void onArticleSelected(); public String getContent(); } @Override public void onAttach(Activity activity) { super.onAttach(activity); try { mListener = (OnArticleSelectedListener) activity; } catch (ClassCastException e) { throw new ClassCastException(activity.toString() + " must implement OnArticleSelectedListener"); } } //触发该监听器的地方: @Override public void onListItemClick(ListView l, View v, int position, long id) { // super.onListItemClick(l, v, position, id); Cursor c = (Cursor) mAdapter.getItem(position); black_phone = c.getString(2); if (mListener!=null) {mListener.onArticleSelected(); String name = mListener.getContent(); showToast(name);} } }
2.在Activity中实现该接口
public class MainActivity extends FragmentActivity implements BlackListFragment.OnArticleSelectedListener { @Override public void onArticleSelected() { showToast("显示问题实现"); mButton.setOnClickListener(this); } @Override public String getContent() { return "实现接口方法返回字符串"; } }
3.案例说明
当在BlackListFragment 中触发mListener.onArticleSelected(); 方法时,系统自动回调MainActivity 中的 onArticleSelected() 方法,相当于Fragment把事件传递给Activity了,由Activity来监听Fragment触发的动作。相关文章推荐
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
- Android开发之Fragment与Activity的数据交互通过回调机制实现(源代码分享)
- Android开发之Fragment与Activity的数据交互通过回调机制实现
- 【转载】Fragment中通过回调获得实现Activity中的onTouchEvent函数
- android:cha1.2 通过Intent实现Activity之间的通信
- 回调接口实现Activity与Fragment之间的通信
- Android 同一Activity 静态加载fragment 并实现通信
- Fragment中通过回调获得实现Activity中的onTouchEvent函数
- Android系列之Fragment(三)----Fragment和Activity之间的通信(含接口回调)
- android开发 从fragment中通过控件跳到另一个activity的实现
- 利用接口回调实现fragment与activity的通信
- Activity与Fragment通过接口回调进行通信
- android小技巧:在activity中实现与绑定的fragment的回调
- Android:手把手教你 实现Activity 与 Fragment 相互通信(含Demo)
- Activity与Fragment通信——回调方法实现
- 利用接口回调实现fragment与activity的通信
- Android中Fragment和Activity之间的通信(含接口回调)
- android小技巧:在activity中实现与绑定的fragment的回调
- Android中aidl实现Activity与service进行通信和回调
- 【转载】Fragment中通过回调获得实现Activity中的onTouchEvent函数