我正在尝试实现简单的按钮单击事件,但在编译时出现代码错误。
以下是完整的代码:
public class MainActivity extends Activity{
Button button1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1 = (Button) findViewById(R.id.button1);
addListenerOnButton();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
public void addListenerOnButton() {
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
}
});
}
}
编译器在addListenerOnButton
方法中给出错误,如下所示:
请帮忙。
答案 0 :(得分:4)
button1.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
}
});
更改为
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
}
});
您导入无效 OnClickListener 。 DialogInterface.OnClickListener ,而不是 View.OnClickListener 。
答案 1 :(得分:3)
您已导入DialogInterface.OnClickListener
而不是View.OnClickListener
。
修复导入或使用new View.OnClickListener() { ...
显示您想要的类。
答案 2 :(得分:2)
当方法需要View.OnClickListener时,您正在创建DialogInterface.OnClickListener。
尝试:
public void addListenerOnButton() {
button1 = (Button) findViewById(R.id.button1);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
}
});
}