接口回调
2016-07-15 15:47
274 查看
以前学习不认真,接口回调每次都用得云里雾里的,今天好好的梳理了下。接口回调使用的时候很简单,比如常用到的button.setOnClickListener(new onclicklistener(){
void onclick(){}});就是一个来自于android.view.View.OnClickListener类的接口回调事件。使用分三步走
里面进行定义的,我理解的就是我在A类中定义怎么做,在B类中定义什么时候做这件事。
void onclick(){}});就是一个来自于android.view.View.OnClickListener类的接口回调事件。使用分三步走
public class ContextFragment4 extends Fragment{ private TextView text; private oncallBack oncallBack; private String str; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view=inflater.inflate(R.layout.contextfragment4, container, false); text= (TextView) view.findViewById(R.id.text); oncallBack.callBack(); text.setText(str); return view; } public String getStr() { return str; } public void setStr(String str) { this.str = str; } public void setonCallBackListener(oncallBack cBack) { this.oncallBack=cBack; } public interface oncallBack{ void callBack(); } }创建一个双方约定的接口oncallBack的接口,接口定义了一个callback()的方法供调用,这里我提供了一个setoncallBackListener的方法来设置接口,其实也可以用其他方法,无非就是将我们自己定义的private oncallBack oncallBack;这个oncallBack变量给赋值,赋值完毕后我们就可以在ContextFragment4 类需要的地方使用oncallBack.callBack();而这个方法的具体实现是在
<span style="white-space:pre"> </span>c4=new ContextFragment4(); c4.setonCallBackListener(new oncallBack() { @Override public void callBack() { c4.setStr("我来自于activity的消息"); } });
里面进行定义的,我理解的就是我在A类中定义怎么做,在B类中定义什么时候做这件事。
相关文章推荐
- OPKG源 for Edison
- VectorDrawable:适应不同分辨率的drawable资源
- Android Material Design(一)史上最全的材料设计控件大全
- Android Material Design(一)史上最全的材料设计控件大全
- Delete Volume 操作 - 每天5分钟玩转 OpenStack(57)
- 颜色空间笔记
- 导航栏的设置
- mysql性能查看命令2
- 详解android:scaleType属性
- -bash: crontab: command not found
- Notification及BroadcastReceiver
- 卓易科技的人工智能“大野心”
- Refactor: replace type code with class (c++)
- Intellij Idea 注释行如何自动缩进?
- windows如何使用ssh登录ubuntu
- Metadata Lock原理1
- mysql性能查看命令1
- redis 3.0集群安装与配置
- Codeforces Round #362 (Div. 2) B 模拟
- stm8s_atomthread