您的位置:首页 > 其它

自定义接口内部类的一个简单的使用(跨类传值)

2017-02-06 16:10 253 查看
实现使用接口内部类进行跨类传值

定义一个普通的Java类:

package com.example.shiyan;

public class haitao {
private static haitao instance;
hhCallBack call;
private haitao() {  //构造方法私有,拒绝通过new关键字方式创建类的实例
}

public static haitao generate() {        //单例模式
if (instance == null) {
instance = new haitao();
return instance;
}
return instance;
}

public void chuFa(){  //相当于C#中事件触发
if(call!=null){
call.xianshi("xuhaitao", 35);
}
}

public void bangDing(hhCallBack callBack){  //相当于C#事件的绑定
call=callBack;
}

public interface hhCallBack {               //相当于C#定义一个事件
public void xianshi(String name, int age);
}
}


MainActivity代码:

package com.example.shiyan;

import com.example.shiyan.haitao.hhCallBack;

import android.os.Bundle;
import android.app.Activity;
import android.util.Log;

public class MainActivity extends Activity {
haitao tt;
hhCallBack kkBack = new hhCallBack() {

@Override
public void xianshi(String name, int age) {
Log.i("xuhaitao","hunk xu");
Log.i("xuhaitao",name);
Log.i("xuhaitao",age+"");
}
};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tt = haitao.generate();
tt.bangDing(kkBack);   //绑定具体的方法
tt.chuFa();
}

}


打印结果:



FR:海涛高软(徐海涛)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐