定义Button事件的时候出现错误:
The type new DialogInterface.OnClickListener(){} mustimplement the inherited abstract methodDialogInterface.OnClickListener.onClick(DialogInterface, int)
源码如下:
public class HelloWorldActivity extends Activity {
private Button btn1=null;
private Button btn2=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
btn1=(Button) findViewById(R.id.btn1);
btn2=(Button) findViewById(R.id.btn2);
btn1.setOnClickListener((android.view.View.OnClickListener) listener);
btn2.setOnClickListener((android.view.View.OnClickListener) listener);
}
private OnClickListener listener=new OnClickListener() {
public void onClick(View v) {
Button btn=(Button) v;
switch (btn.getId()) {
case R.id.btn1:
Toast.makeText(HelloWorldActivity.this, "你点击了提交!", Toast.LENGTH_LONG).show();
break;
case R.id.btn2:
System.out.println("你点击了取消!");
break;
}
}
};
}
原因:
因为android里面有两个包里面都有OnClickListener的接口,这么写代码的话,程序自己不会判断用哪个接口,所以会报错。
解决办法:
private View.OnClickListener listener=new View.OnClickListener()
这么修改就好了!