今天在做一个Activity的时候,遇到了不同类型的OnClickListener的问题,具体阐述如下
1.实现了一个弹出的Dialog的按钮事件
2.又同时添加一般的Button的监听器
//一个Dialog的按钮事件
private AlertDialog.Builder setPositiveButton(AlertDialog.Builder builder)
{
return builder.setPositiveButton("确定", new OnClickListener()
{
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
}
);
}
//同时存在一个一般的button的监听器
private class TestClickListener implements OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
意思即是:
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()
{
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
}
}
);
}
//同时存在一个一般的button的监听器
private class QunachiClickListener implements android.view.View.OnClickListener {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
}
}
即是OnClickListener中要把全部路径都写上,让系统能分辨出究竟是哪个OnClickListener