自定义的监听问题
来源:互联网 发布:qq飞车暗风暴数据 编辑:程序博客网 时间:2024/04/30 00:23
当我们自定义View的时候,如果需要返回值,那么就需要自定义一个监听器。
这里用一个自定义的数字选框为例。
首先定义view。
1、新建view,NumberKeyboardView.Java,自定义view一定要有一个带属性参数的构造函数,这样才可以在xml中使用该View。
public class NumberKeyboardViewextends View{
public NumberKeyboardView(Context context, AttributeSet attrs) {
super(context, attrs);
}
}
2、新建interface,OnNumberKeyboard.java,并定义一个接口函数。
public interface OnNumberKeyboard {
public void OnSetNumber(int number);
}
3、在NumberKeyboardView中给接口加上set和get函数,先定义接口参数。
OnNumberKeyboard onNumberKeyboard = null;
CLT+S,选择Generate Getters and Setters菜单,把onNumberKeyboard项勾选,也可以展开只选set或get,点击ok,在View中自动生成代码。
public void setonNumberKeyboard(OnNumberKeyboard onNumberKeyboard) {
this.mOnNumberKeyboard = onNumberKeyboard;
}
4、在View中调用该接口函数,当点击到view时调用。(这个完全看你自己想监听什么)
public boolean onTouchEvent(MotionEvent event) {
if(event.getAction() == MotionEvent.ACTION_DOWN){
onNumberKeyboard.OnSetNumber(100);
}
return super.onTouchEvent(event);
}
5、在Activity中调用set函数对该view的该事件进行监听。
NumberKeyboardView mNumberKeyboardView = ...;
mNumberKeyboardView.setonNumberKeyboard(new OnNumberKeyboard(){
public void OnSetNumber(int number){
}
});
ok,这时候只要view中点击鼠标左键,Activity中OnSetNumber监听器就会响应了。
另一个代码大家自己体会
- 自定义的监听问题
- 用 UITextField 自定义UISearchBar 监听输入字符串改变的问题
- Android监听系统广播 和自定义广播遇到的问题
- 自定义对象的监听方式
- 自定义PopupWindow的监听事件
- EditText自定义监听的案例
- ListView监听的问题
- ViewPager 监听的问题
- 自定义ListView里面条目有CheckBox 监听ListView遇到的问题
- 自定义监听
- EditText自定义监听方法实现onFocusChanged的监听
- 自定义ServletRquestListener和ServletRequestAttributeListener的监听
- 自定义高效支持点击监听的RecyclerView
- scrollview的滑动监听(自定义)
- Android 自定义view的监听事件
- 测量webview滑动监听的自定义控件
- 安卓下自定义监听滑动的ScrollView
- oracle配置监听的问题!!
- Linux系统查找文件命令find
- linux共享内存
- 掌握VS2010调试 -- 入门指南
- Set of Pictures
- Chirp信号研究中的基础问题
- 自定义的监听问题
- [原译]11个高效的VS调试技巧
- word中怎么从第二页插入页码
- Spark 实战, 第 2 部分:使用 Kafka 和 Spark Streaming 构建实时数据处理系统
- 链表与数组的区别
- 一文看懂各种传感器工作原理!
- C语言——删除字符串中的指定子串
- 如何封装一个自己的mvc框架(五)
- 微服务实战(四):服务发现的可行方案以及实践案例