【Android开发】解决不同的OnClickListener冲突的问题

来源:互联网 发布:淘宝儿童文胸模特 编辑:程序博客网 时间:2024/05/18 03:40

今天在做一个Activity的时候,遇到了不同类型的OnClickListener的问题,具体阐述如下

1.实现了一个弹出的Dialog的按钮事件

2.又同时添加一般的Button的监听器

//一个Dialog的按钮事件

private AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){return builder.setPositiveButton("确定", new OnClickListener(){@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});}

//同时存在一个一般的button的监听器

private class TestClickListener implements OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub}}


然后Eclipse就一直处于红色波浪线报错的状态当中。分析了一下,觉得是两者是应用不同的包的onClickListener,但是这里若在import里面添加了谁的包,其中一者都会报错

意思即是:

android.view.View.OnClickListener

android.content.DialogInterface.OnClickListener

两个包冲突了。

解决方法:

1.在import里面都不引入上面两者

2.在声明的地方做改变

//一个Dialog的按钮事件

private AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder){return builder.setPositiveButton("确定", new android.content.DialogInterface.OnClickListener(){@Overridepublic void onClick(DialogInterface arg0, int arg1) {// TODO Auto-generated method stub}});}

//同时存在一个一般的button的监听器

private class QunachiClickListener implements android.view.View.OnClickListener {@Overridepublic void onClick(View v) {// TODO Auto-generated method stub}}


即是OnClickListener中要把全部路径都写上,让系统能分辨出究竟是哪个OnClickListener

0 0
原创粉丝点击