同android中间Button的setOnClickListener这个回调案例;
Button button = (Button)this.findViewById(R.id.button);
button.setOnClickListener(new Button.OnClickListener() {//回调函数@overridepublicvoid onClick(View v) {buttonTextView.setText("按钮被点击了");}
});
那么我们怎样实现呢;
首先定义OnClickListener接口
package com.listener;/*** 点击监听器接口* @author CodingMyWorld**/
publicinterface MyOnClickListener {publicvoid onClick();
}
再定义Buttonbutton这个类
package com.listener;publicclass MyButton {private MyOnClickListener listener;/*** 设置详细点击监听器* @param listener 点击监听器实现类*/publicvoid setOnClickListener(MyOnClickListener listener) {this.listener = listener;}/*** button被点击*/publicvoid doClick() {listener.onClick();}
}
最后编写一个測试类
package com.listener;publicclass Client {publicstaticvoid main(String[] args) {MyButton button =new MyButton();//注冊监听器button.setOnClickListener(new MyOnClickListener() {@Overridepublicvoid onClick() {System.out.println("按钮被点击了");}});//模拟用户点击button.doClick();}
}
行。简单的理解,这是一个回调
版权声明:本文博客原创文章,博客,未经同意,不得转载。