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实战之 万能的接口回调

由于自己以前也困于抽象、接口等“吓人”的东西,网上又缺乏在项目中实战运用的讲解,下面我就斗胆把自己的理解和大家交流一下下。 接口回调的条件就是一个接口,两个类,两个类之间互相操作,它符...

Android接口回调

  • 2015年07月16日 09:29
  • 1.26MB
  • 下载

android接口回调

  • 2016年03月21日 17:36
  • 2.05MB
  • 下载

Android 点击事件 的接口回调

//设置监听器 也就是实例化接口 public void setOnClickListener(final OnOKClickListener clickListener) { ...

android接口回调

  • 2016年03月09日 19:18
  • 1.64MB
  • 下载

android接口回调第二种优化写法详解、另外附赠简单例子

原本写法:即方法一,这次主要推荐使用方法二,详见改进。 方法一: 接口回调的实现步骤: 简单的实现例子 回调函数 回调函数就是一个通过函数指针调用的函数。如果你把函数的指针(地址)作为参...

android 接口回调

  • 2016年05月31日 17:53
  • 20.4MB
  • 下载

Android开发之通过接口回调机制加载数据(源代码分享)

Android开发之通过接口回调机制加载数据的简单实现,在实际开发中通过callback方法得到网络加载的数据的使用频率远比通过直接开启线程或异步任务加载数据的频率高的多,这篇文章的代码将简单实现该机...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android-接口回调
举报原因:
原因补充:

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