android 回调

来源:互联网 发布:java好玩的程序 知乎 编辑:程序博客网 时间:2024/05/17 08:25

关于回调,之前纠结了好久,也看了不少文章.但是一直似懂非懂。今天豁然开朗,回调其实挺简单的。 假如A调用B的方法,那么在B方法中定义一个接口,然后在B中写一个共有的方法,参数是我们定义的接口。

定义接口:这个接口中的position就是我们要返回的内容

public interface listener {
void data(int position);
}

然后再在B中声明接口,并写一个共有的方法,参数的类型是接口

private listener listtener;public void setlistener(listener lis) {    this.listtener = lis;}

这样在B中就实例了这个接口 ,再在合适的时候,调用接口中的data方法,这个position就是我们需要的内容
int position = pointToPosition((int) x, (int) y);
listtener.data(position);

我们现在在A中调用这个接口,调用方式跟对button设置点击事件是一样的
dflv.setlistener(new listener() {

        @Override        public void data(int position) {            MainActivity.this.position = position;        }    });

这样我们就可以获得B中点击时的这个position了。

希望对大家能有点帮助,如果一下子没看懂也不要着急,多看看别人的博客,厚积薄发。

0 0