Android开发:定义Button事件时报错
Android开发:定义Button事件时报错
定义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()
这么修改就好了!
评论暂时关闭