Fragment与Activity交互(使用接口)

在Fragment中:

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中的方法.

转载于:https://www.cnblogs.com/vinozly/p/4768172.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/397599.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java保龄球计分_自己写的java保龄球记分

package com.java.bowlingscore1;import java.util.Arrays;public class Game { int[] bowlingScore new int[21]; //用来存放投掷击倒的数目 int ball0; //数组下标 int score;//分数 int countframe0;//记录当前是第几轮 boolean firs…

你不知道的JavaScript-0

【数组】 删除数组的几种方法: https://www.cnblogs.com/Joans/p/3981122.html http://www.cnblogs.com/qiantuwuliang/archive/2010/09/01/1814706.html 【数字转换】 parseInt(num, radix): 【宽松相等和严格相等】 允许在相等比较中进行强制类型转换&#xff0c…

真是,原来可以这样啊

一下午,解决了两个问题。。。。。 先列上这两个真是Bug的问题: 1、数据库有个表book,里面有个字段 create_time Datetime类型的字段,这个字段是 not null 的。下午下代码往数据库里插入数据时,总是提示,cre…

1026. Table Tennis (30)

题目如下: A table tennis club has N tables available to the public. The tables are numbered from 1 to N. For any pair of players, if there are some tables open when they arrive, they will be assigned to the available table with the smallest numb…

java运行时异常中文_JAVA——运行时异常(RuntimeException)

Exception中有一个特殊的子类异常RuntimeException运行时异常。如果在函数内抛出该异常,函数上可以不用声明,编译一样通过。如果在函数上声明了该异常。调用者可以不用进行处理。编译一样通过。之所以不用在函数上声明,是因为不需要让调用者处…

内置函数isinstance和issubclass

1. isinstance(obj,class) 判断对象obj是不是由class生成的对象。 class Foo:passobjFoo()print(isinstance(obj,Foo))obj是Foo的生成的对象,返回True。如果不是,则返回False。 d{x:1} #ddict({x:1} #)print(type(d) is dict) pri…

JavaOne 2016——首日亮点

今年,为期5天的JavaOne会议中,4个会场的议题都进行了直播,演讲稿也在播出之后一并提供。\\来自Terracotta公司EHCache团队的Henri Tremblay,做了主题为《学习Java 8:Lambda表达式和函数式编程(Learn Java 8…

指针数据类型 java_C/C++ 指针的小结——指针与其它数据类型(数组、字符串、函数、结构体)的关系...

一、指针与数组和字符串1、指针与数组当声明数时,编译器在连续的内存空间分配基本地址和足够的储存空间,以容纳数组的所有元素。基本地址是数组第一个元素(索引为0)的存储位置。编译器还把数组名定义为指向第一个元素的常量指针。元素的地址是通过索引和…

Linux tr命令详解

tr是个简单的替换命令,从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。 tr常见命令参数 用法:tr [选项]... SET1 [SET2] 从标准输入中替换、缩减和/或删除字符,并将结果写到标准输出。-c, -C, --complement …

512M内存编译php出错

make时错误如下 1 virtual memory exhausted: Cannot allocate memory make: *** [ext/fileinfo/libmagic/apprentice.lo] Error 1 内存小造成的,为了成功的话需要加上参数 –disable-fileinfo即可参考链接:https://bugs.php.net/bug.php?id48809 转载于…

Android中插件开发篇总结和概述

刚刚终于写完了插件开发的最后一篇文章,下面就来总结一下,关于Android中插件篇从去年的11月份就开始规划了,主要从三个方面去解读Android中插件开发原理。说白了,插件开发的原理就是:动态加载技术。但是我们在开发插件…

java反射机制 路径_Java 反射机制详解

引言本文主要介绍Java中,有关反射机制、类的加载过程、以及控制反转方面的内容。Java 反射机制Java创建对象的方式有哪些:new、反射、反序列化、克隆class对象获取的方法有哪些:类名.class、getClass、forName、classLoader.loadClass(‘包类…

prop和attr在 jquery的

https://www.cnblogs.com/Showshare/p/different-between-attr-and-prop.html转载于:https://www.cnblogs.com/beimingbingpo/p/9254680.html

java传入数据库生成柱状图_Java读取数据库数据生成柱状图

此案例是用swing显示数据的。须要引入jfreechart相关包。不同版本号可能包不同样。本人用的是此案例在ssi框架下会报错,不用框架就没问题。Java后台逻辑代码:public class BarChart {ChartPanel frame1;public BarChart() {CategoryDataset dataset get…

SVN系列操作(一)

SVN是什么? SVN是Subversion的简称,是一个开放源代码的版本控制系统,常用于软件开发项目中,实现代码、文档等的历史版本保存、共享和权限管理。 进入SVN本地目录,第一步操作就是update。 为什么呢?因为SVN是…

ubuntu-14.04.2-desktop使用方法

一、安装VMware Tools 1. 在VMware Workstation11.1.0下安装Ubuntu镜像:ubuntukylin-14.04.2-desktop-amd64.iso 2. 点击虚拟机菜单栏-安装VMware Tools。 3. 在Ubuntu系统光盘中找到VMwareTools-9.9.2-2496486.tar.gz,右键复制到“桌面”,然…

ubuntu 跟xshell的问题

有2个分析: 1:是windos的防火墙没有关闭 2:是虚拟机没有安装sshd服务器 ubuntu在CLI界面下输入:dpkg -l |grep ssh 因为是我安装过的sshd server 要是没有sshd server 就要输入 安装。 三:要是安装完之后 链接显示说…

java gdal postgresql_使用GDAL/OGR操作Postgresql数据库

GDAL(Geospatial Data AbstractionLibrary)是一个在X/MIT许可协议下的开源栅格空间数据转换库。它利用抽象数据模型来表达所支持的各种文件格式。它还有一系列命令行工具来进行数据转换和处理。本文将使用GDAL/OGR库读写Postgresql数据库中的表&#x…

Go语言基础之1--标识符、关键字、变量和常量、数据类型、Go的基本程序结构、Golang的特性...

一、前言 当我们项目较为简单时,我们在src目录下新建一个该项目目录,里面存放源码文件即可,见下图: 当我们一个项目较为复杂时,我们可以在src目录下新建一个该项目目录,在针对该项目不同模块创建不同目录&a…

java参数转换匹配规律_隐式转换规则

隐式转换在如下三种不同的情况会被考虑:1、当对象A调用某个方法时,这个方法不存在例如在前一节介绍的1 to 10。会将Int转换为RichInt,然后再调用to方法。在这种情况下,会将对象A(方法的调用者)隐式转换为另一个对象。2、当对象A调…