Android 关于回调的那些事

来源:互联网 发布:linux上装eclipse 编辑:程序博客网 时间:2024/06/06 01:05

在Android 系统中 有太多的回调

列如按钮的单击事件:

tv.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

}
});


1、定义接口

package com.myCallback;


/**
 * 
 * Adapter 类
 * 
 * 
 */
public class TodayJobdapter {
String name = "张三";
boolean isBaoming = false;


public TodayJobdapter(Icall icall) {
icall.call(name);
icall.baoming(isBaoming);
icall.pinjiang();


}


/**

* 定义的接口 以及方法
*
*/
public interface Icall {
void call(String name);


void baoming(boolean isBaoming);


void pinjiang();
}


}


2、根据adapter中传来的值处理相应的操作

package com.myCallback;


import com.myCallback.TodayJobdapter.Icall;


/**
 * 处理 Adapter类中的接口
 * 
 *
 */
public class Todayjob {
public static void main(String[] args) {
new TodayJobdapter(new Icall() {


@Override
public void call(String name) {


System.out.println("name===" + name);


}


@Override
public void baoming(boolean isBaoming) {
System.out.println("baoming===" + isBaoming);


}


@Override
public void pinjiang() {
System.out.println("评价");
}
});


}


}


个人理解:

1、正常是从Activity 中传值到Adapter,然后处理相应的操作;

例如 xxxAdapter mAdapter=new xxxAdapter("张三","男");在xxxAdapter中 setName(name);

2、从xxxAdapter传值到Activity处理xxxAdapter中相应的事件的时候就用到了自定义的回调函数了(上面的例子);



0 0
原创粉丝点击