• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > android中的回调请求的个人理解,android回调

android中的回调请求的个人理解,android回调

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了android中接口回调,android 接口回调,android 回调,android回调机制,android开发回调等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

android中的回调请求的个人理解,android回调


Fragment类提供了管理“选项菜单”的回调函数onCreateOptionMenu(Menu,MenuInflater),调用它可以--创建“选项菜单”。

在需要“选项菜单”时,Android-OS通过Activity的FragmentManager调用Fragment的onCreateOptionMenu(Menu,MenuInflater),创建出来。

当用户点击“选项菜单”时,Fragment会收到onOptionItemSelected(MenuItem)方法的回调请求。

//选项菜单可以包含多个菜单项,通过检查菜单项的ID,确定是哪一个,然后作出相应的动作。

 

那么什么是回调请求呢?????

从用户的角度看,当我点击“选项菜单”,会发生一件事(这个app是跳转到另一个activity)。

代码是在fragment中覆盖onOptionItemSelected(MenuItem){//跳转到另一个activity}。

 

先来看一个经典的回调函数的例子

模拟911事件-结果WTC(世贸大厦)被轰炸

1.这里是接口、调用者、执行者

//相当于接口InA
public interface BoomWTC{
  //获得拉登的决定
  public benLaDengDecide();

  // 执行轰炸世贸
  public void boom();
}

//相当于class A
public class At$911 implements BoomWTC{//相当于【背景1】
  private boolean decide;
  private TerroristAttack ta;//相当于【背景2】

  public At$911(){
    Date now=new Date();
    SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
    this.dicede= myFmt.format(dt).equals("01/09/11 09:44");
    this.ta=new TerroristAttack();
  }

  //获得拉登的决定
  public boolean benLaDengDecide(){
    return decide;
  }

  // 执行轰炸世贸
  public void boom(){
    ta.attack(new At$911);//class A调用class B的方法传入自己的对象,相当于【you call me】
  }
}

//相当于class B
public class TerroristAttack{
  public TerroristAttack(){
  }

  public attack(BoomWTC bmw){——这相当于【背景3】
    if(bmw.benLaDengDecide()){/*class B在方法中回调class A的方法,相当于【i call you back】*/
    } } }

2.这里是主函数

public class $911{
  public static void main(String[] args){

At$911 $911=new At$911();
$911.boom();
} }

流程:在main()中创建911实例,调用boom()方法,该方法会调用911实例中的TerroristAttack实例的attack()方法,该方法新建911匿名实例,传入attack()。

TerroristAttack的attack(BoomWTC bmw)接受一个实现BoomWTC接口的实例,并用接口变量bmw来引用传入的911匿名实例。然后,bmw.benLaDengDecide()调用911的benLaDengDecide()方法,返回一个true(假设今天是9月11日),然后通过if判断,执行轰炸。。。

对比来看:

androidOS main
new activity.onMenuItemSelected new 911.boom
fragment.onOptionItemSelected TerroristAttack.attack

 

因此当用户点击“选项菜单”时,Fragment会收到onOptionItemSelected(MenuItem)方法的回调请求,就是androidOS最终会调用onOptionItemSelected()响应--点击选项菜单--这个事件

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • android中的回调请求的个人理解,android回调
  • 接口回调封装,回调封装
  • Android中"get","post"请求的其中三种常用数据提交方式,android常用数据
  • Android基于回调的事件处理

相关文章

  • 2017-05-26使用Android studio创建的AIDL编译时找不到自定义类的解决办法,androidaidl
  • 2017-05-26Android Studio中找出不再使用的资源,androidstudio
  • 2017-05-26Linux主机网络流量监控ifstat
  • 2017-05-26did not call through to super.onCreate(),didsuper.oncreate
  • 2017-05-26Android中自定义视图View之---进阶篇(Canvas的使用)
  • 2017-05-26andriod 资源文件之存取操作,andriod资源文件
  • 2017-05-26Android中访问sdcard路径的几种方式,androidsdcard
  • 2017-05-26Android 在Android代码中执行命令行,android命令行
  • 2017-05-26在不同Activity之间传递数据的四种常用方法,activity四种
  • 2017-05-26创建安卓应用的 30 个经验教训,安卓经验教训

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 用树莓派实现对话机器人
    • Android 手机卫士--md5加密过程,android--md5
    • ImageView的ScaleType属性,imageviewscaletype
    • Google Play发布App中遇到"多个APK:版本1未提供给任何设备配置使用。"问题的解决方法,appapk
    • android 5.0后对于apk 跑32 64 的逻辑
    • 状态栏一体化及其带来的软键盘自适应问题
    • Android:应用宝省流量更新
    • Android事件分发机制源码分析
    • Activity被回收导致fragment的getActivity为空,fragmentgetactivity
    • andriod 获取电池的信息,andriod获取电池

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有