Fragment与Activity交互(使用接口)
2015-08-28 23:57
369 查看
在Fragment中:
1.
1.
// 定义一个回调接口,该Fragment所在Activity需要实现该接口 // 该Fragment将通过该接口与它所在的Activity交互
{ public void onItemSelected(Integer id); } 2.
// 当该Fragment被添加、显示到Activity时,回调该方法
public void onAttach(Activity activity) { super.onAttach(activity); // 如果Activity没有实现Callbacks接口,抛出异常 if (!(activity instanceof Callbacks)) { throw new IllegalStateException( "BookListFragment所在的Activity必须实现Callbacks接口!"); } // 把该Activity当成Callbacks对象 mCallbacks = (Callbacks)activity; }
3. // 当用户单击某列表项时激发该回调方法 @Override public void onListItemClick(ListView listView , View view, int position, long id) { super.onListItemClick(listView, view, position, id); // 激发mCallbacks的onItemSelected方法 mCallbacks.onItemSelected(position); } 在Activity中: 1.实现接口
public class MainActivity extends Activity implements BookListFragment.Callbacks 2.覆写接口中定义的方法
// 实现Callbacks接口必须实现的方法 @Override public void onItemSelected(Integer id) { //.... } 当Fragment中的相应事件被触发,会在Fragment中通过mCallbacks引用调用Activity中的方法.
相关文章推荐
- IO-00 ---- IO-09
- Leetcode 226 Invert Binary Tree 反转二叉树
- hdu 4614(区间更新)
- 杭电1869-六度分离(最短路径,dijkstra,spfa,floyd)
- [LeetCode#212]Word Search II
- 微信读书来了,说好的全民刷书呢?
- Linux备份与恢复
- 企业管理之客户之道
- vsftpd遇到“refusing to run with writable root inside chroot”错误
- RESTful HTTP的实践
- JSOI2013编程作业
- XenDesktop 设置上班高峰期前预先启动虚拟桌面
- oracle之安装
- My Booklist
- Hadoop里的数据挖掘应用-Mahout——学习笔记<三>
- swift - The Proxy Pattern
- 信号量 互斥锁 条件变量的区别
- OSPF特殊区域之totally stub
- 开源框架-ormlite-android数据库的使用
- iOS之Operation Queues 和 Grand Central Dispatch