美文网首页
Android接口回调

Android接口回调

作者: 莽原奔马668 | 来源:发表于2019-06-13 10:46 被阅读0次

    Android接口回调,见的最多的就是系统的点击事件的回调方法:OnClick,使用方法如下。

    btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    
                }
            });
    

    OnClickLister 是一个接口,OnClick 是回调方法。

    public interface OnClickListener {
            /**
             * Called when a view has been clicked.
             *
             * @param v The view that was clicked.
             */
            void onClick(View v);
        }
    

    所以在 Activity 里,服从这个接口,就可以换一种使用方式。

    public class MainActivity extends AppCompatActivity implements View.OnClickListener
    
    btn.setOnClickListener(this);
    
    @Override
    public void onClick(View v) {
    }
    

    知道了系统的接口回调的写法,我们自己就可以自定义一个接口回调了。
    举个例子,计算两个数的和,并通过回调方法打印出来。首先来自定义一个接口,回调方法将我们输入的两个数,以及结果回调给我们。

    public interface DoJob {
        public void fillBack(int a, int b, int result);
    }
    

    接着定义一个计算类 Calculate,这个类的 add方法,实现两个数相加,并把结果交给回调方法作为参数。

    public class Calculate {
        public void add(int a, int b, @Nullable DoJob customer) {
            int result = a + b;
            customer.fillBack(a, b, result);
        }
    }
    

    现在,就可以在 Activity 里,实现这个加法回调了。

    Calculate c = new Calculate();
    c.add(5, 10, new DoJob() {
        @Override
        public void fillBack(int a, int b, int result) {
            System.out.println(a + " + " + b + " = " + result);
        }
    });
    

    public class MainActivity extends AppCompatActivity implements DoJob
    
    c.add(5, 10, this);
    
    @Override
    public void fillBack(int a, int b, int result) {
        Log.i("", "fillBack: " + a + " + " + b + " = " + result);
    }
    

    相关文章

      网友评论

          本文标题:Android接口回调

          本文链接:https://www.haomeiwen.com/subject/yzcjfctx.html