导包View.OnClickListener和DialogInterface.OnClickListener冲突的解决方案

同时有import android.view.View.OnClickListener;(以下简称①包)和importandroid.content.DialogInterface.OnClickListener;(以下简称②包)存在时,实例化OnClickListener中的onClick()方法时无法区分其是①包中的OnClickListener还是②包中OnClickListener,即导入包

//--------------------下面的onClickListener是①包中的OnClickListener-------------------------

btnLrResult=(ImageButton)findViewById(R.id.imbtn_lrresult);

btnLrResult.setOnClickListener(newOnClickListener(){ 

public voidonClick(View v){

Intent intent = newIntent(LotteryPK.this,LotteryResult.class);

startActivity(intent);

}

});

//------------------------下面的onClickListener是②包中的OnClickListener----------------

protected voidwarningDialog(String str) {

AlertDialog.Builderbuilder = new Builder(LotteryPK.this);

builder.setPositiveButton("确认", new OnClickListener() {

public voidonClick(DialogInterface dialog, int which) {

dialog.dismiss();

showDialog();

}

});

builder.create().show();

}

即便把①包和②包都导入,它也会报错,分不清楚是哪个包下的OnClickListener()方法。

 

 

解决方法:

方法一:导入①包,同时将②包中的new OnClickListener()改成new DialogInterface.OnClickListener()即可;

方法二:导入②包,同时将①包中的new OnClickListener()改成new View.OnClickListener()即可;