Android 接口使用

在找关于接口回调的资料时,很多都是与button有关的,于是自己就总结了一下接口的最基本的使用方法,以及回调方法。

最基本的接口分三块:第一个是询问方,即监听者;第二个是回答者,第三个是接口类。

询问方:

ThreadR r=new ThreadR();
        new Thread(r).start();
        r.setAnInterface(this);
        r.setAnInterface(new ContactInterface() {
            @Override
            public void answer(String answer) {
                Log.i("Thread's answer:",answer+"zcdfsfsdf");
            }
        });
在这里新建了一个对象,并对该对象通过setAnInterface()进行监听以获得数据。


回答者:

public class ThreadR implements Runnable{
    public ContactInterface anInterface;
    String answer="Thread";
    int i=0;

    public void setAnInterface(ContactInterface anInterface){
        this.anInterface=anInterface;
    }

    @Override
    public void run() {
        while (i<5) {
            try {
                Thread.sleep(1000);
                if (i == 3)
                    anInterface.answer(answer+i);
                else {
                    anInterface.answer(i+"zzdfsdf");
                }
                i++;
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }
    }

}
在这里,先声明了接口,及其调用方式。通过anInterface.answer()向接口传送数据。


接口类:

public interface ContactInterface {
    public void answer(String answer);
}
接口及其抽象方法。


这样我们就完成了一个最基本的接口回调方法!


下面提一下接口回调的三种方式:

第一种便是以上方式。


第二种:

询问方中使用:

r.setAnInterface(this);

并将Activity实现该接口:

 implements ContactInterface
续写其方法:
  @Override
    public void answer(String answer) {
        Log.i("implement answer:",answer);
}
回答方不变
第三种
回答者中添加:
anInterface = (ContactInterface) activity;

询问方中使用:

并将Activity实现该接口:

 implements ContactInterface
续写其方法:
  @Override
    public void answer(String answer) {
        Log.i("implement answer:",answer);
}

该方法在Frgement向Activity传递消息中使用较多。








  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值