接口回调的简单实用

接口回调

**1.提供接口,传递接口对象**

        OnItemClickListener onItemClickListener;  //ma
        public void setOnItemClickListener(OnItemClickListener onItemClickListener){// onItemClickListener外界传进来  ma
            this.onItemClickListener = onItemClickListener;
        }
接口
        public interface OnItemClickListener{
            void onItemClick(View view, ViewHolder viewHolder, int position);
        }


2.实现接口,重写接口的实现方法
    在Activity页面用adapter设置监听事件

        adapter.setOnItemClickListener(this);



        //被回调时用到的接口放
        @Override
        public void onItemClick(View view, MyAdapter.ViewHolder viewHolder, int position) {

            Toast.makeText(MainActivity.this,list.get(position).toString(),Toast.LENGTH_LONG).show();;
        }


3.接口回调
在onCreateViewHolder()方法中用view控件调用setOnItemClickListener方法
     调用传进来接口的方法,实现调用


        view.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                int position = viewHolder.getAdapterPosition();
                if(onItemClickListener!=null){
                    onItemClickListener.onItemClick(view,viewHolder,position);
                }
            }
        });

接口回调的注意事项

接口则是抽象类更彻底的抽象;
接口是一种规范,接口规定了实现者必须向外提供哪些服务,对于接口的调用者,调用者要掉哪些方法
例如:
【修饰符】 interface 接口名 extends 父接口1、父接口2…..
说明:
修饰符可以是public或者省略,如果省略了public 访问控制符,则默认采用包访问控制符,只有在相同包下面才能访问还接口;
接口名应该与类名命名相同;
一个接口可以有多个父接口,一个接口可以继承多个接口,但是不能继承类;
接口里面可以包含Filed(常量),方法(只能抽象的实例方法),内部类(内部类接口,枚举类);
接口里面修饰Filed(常量),方法(只能抽象的实例方法),内部类(内部类接口,枚举类);只能用public和包级别的修饰符;
接口中定义常量:
int M=1; //系统会默认在前面加上public static final
public static final M=1;
这两种定义的常量是相等的;接口里面没有构造器和初始化块,因为Filed只能在定义的时候默认值;
因为接口里面的方法都是抽象的方法,因此不能用static 去修饰方法;
接口里面的方法:
void get();
public abstract void get();
上面的这两种方法是相等的;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值