Android-接口回调

原创 2015年11月18日 19:42:27

Android接口回调整理

首先上一个我回调思路图(形象思路看感受)

思路图

下面是具体实现

自定义一个MyView.java

public class MyView extends View
{

    public MyView(Context context, AttributeSet attrs) {
        super(context, attrs);
    }
    @Override
    public boolean onTouchEvent(MotionEvent event) {
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:

③当按下这个控件时,调用接口中方法

            a.show();
            break;

        default:
            break;
        }
        return super.onTouchEvent(event);
    }

①②创建和定义一个接口

    private A a;
    public interface A
    {
        void show();
        void show(String str);
        String setValue();
    }

在Activity中调用这个方法,为a赋值:④→②

    public void setA(A a)
    {
        this.a = a;
    }
}

然后将这个自定义view放到xml布局中

  • 为它设置了一个黑色背景,方便看到

下面是Activity如何给实现代码

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

获取控件

        MyView myView = (MyView) findViewById(R.id.myview);

向控件中的定义的A接口a变量赋值

        myView.setA(new A() {
            //创建一个匿名内部类,覆写接口中的方法
            @Override
            public void show(String str) {
                Toast.makeText(MainActivity.this, "当前显示:" + str, Toast.LENGTH_LONG).show();
            }

            @Override
            public void show() {
                Toast.makeText(MainActivity.this, "别碰我", Toast.LENGTH_LONG).show();
            }

            @Override
            public String setValue() {
                return "返回值--------------";
            }
        });
    }
}

效果图

  • 按下按钮,调用的是:a.show();
    a.show();图
  • 按下按钮,调用的是:a.show(“变态”);
    a.show("变态");图
  • 按下按钮,调用的是:Log.i(“myout”, a.setValue());

11-18 11:49:13.712: I/myout(1641): 返回值————–

我的感受

  • 回调接口就像是:我女朋友想买布娃娃,但她不会自己买,她要给我个机会表现自己,让我买。最终我买了大熊猫,给她,她就拥有了这个大熊猫。(我:Activity;女朋友:view;布娃娃:接口;给我机会:提供方法得到接口实例类;大熊猫:接口的实例类;)

想说的话

  • 博客坚持写,不管怎样,今后学习了新的东西就在这里记录一下,以便今后回顾,也希望小小笔记能帮助你们
  • 如果内容有什么地方不对,望吐槽,希望大家能一起学习和成长
  • 来一句:记住了编程的精髓在于思想和解决问题的方法
版权声明:本文为博主原创文章,未经博主允许不得转载。

android-接口回调学习

在自己写的一个项目中,需要涉及到回调。在listview的每一个item里面,有一个删除按钮,点击该删除按钮后,删除该item,对删除按钮的监听在adapter中进行,删除操作则需要在activity...
  • yangqiuyan_
  • yangqiuyan_
  • 2016年08月26日 10:20
  • 50

android-接口回调(精简)笔记总结

看了很多网上的文章越看越乱,所以首先回到概念,什么是回调?按照网上大多文章写的,就是两个类互相调用方法,一开始看着也是挺奇怪的,这个“互相”是怎么来的,那么我门就来举个栗子。 接口类: public ...
  • wzhworld
  • wzhworld
  • 2017年08月18日 15:55
  • 108

Android 中的接口回调

在Android中到处可见接口回调机制,尤其是UI事件处理方面。举一个最常见的例子button点击事件,button有一个点击方法onClick(),我们知道onclick()是一个回调方法,当用户点...
  • wangjinyu501
  • wangjinyu501
  • 2014年03月25日 12:41
  • 13600

Android接口回调深入理解

Android控件接口回调理解,绝对小白加深彻!
  • licrynoob
  • licrynoob
  • 2016年05月13日 16:37
  • 925

Android接口回调,最简单的理解方式

在做项目的过程中,做了很多回调,好像是一种自然而然的事。回过头来品味,还是十分有趣的。在Android中为什么定义那么多接口,很大一部分都是用来接口回调的,包括那些OnListener等系统给出接口都...
  • linshijun33
  • linshijun33
  • 2015年09月02日 21:23
  • 4468

适配器中的 -- 接口回调

Adapter中的写法步骤:  【1】定义接口 /**定义回掉的接口,将参数传递过去**/ public interface AdapterCallback { public void cal...
  • u014074418
  • u014074418
  • 2015年04月13日 14:04
  • 818

上转型对象和接口回调

//上转型对象的理解 class AA { void func() { System.out.println("class AA"); } } class BB extends AA {...
  • blackmanren
  • blackmanren
  • 2013年07月05日 14:12
  • 992

Android中接口回调、方法回调

Android中方法的的回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦,现在来举个例子看看它的应用场合,例如在activity中的listview与adapter类之间的传递: 一、...
  • yoonerloop
  • yoonerloop
  • 2016年08月14日 17:48
  • 6182

接口回调的使用方法

## 接口回调的使用方法 ## 在安卓开发之中通常需要使用页面的传值,而这种获得数值的途径通常可以通过接口回调和广播去完成,亦或使用快速开发框架eventbus等等。 今天介绍一下接口回调...
  • lvzishen123
  • lvzishen123
  • 2015年12月13日 11:13
  • 2142

接口回调传值和执行方法

介于很多地方会使用到接口回调,有的是事件做出改变后需要通知某些地方刷新数据,有的是需要传递某些改变的值,所以接口回调非常有掌握的价值,在这里直接把代码贴出来,方便使用。 1、接口回调执行方法 在事...
  • try_zp_catch
  • try_zp_catch
  • 2017年06月06日 15:07
  • 339
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android-接口回调
举报原因:
原因补充:

(最多只允许输入30个字)