0
button.setOnClickListener(new OnClickListener() {  
@Override  
public void onClick(View v) {  
db.update();  
}  
});  

在第 1 行 ---> 建议将 setonclicklistener 转换为 setkeylistener 并在第 3 行删除覆盖注释,但它应该在那里找不到错误帮助我...

4

3 回答 3

3

使用@Overrideon不是强制性的public void onClick(View v),但可能是验证您没有违反其签名的一个很好的理由。但是,如果您选择使用@Override,请确保您的项目与 Java 1.6 兼容。如果没有,您可能会收到“...必须覆盖超类方法”错误。要启用此功能,请右键单击 Eclipse 中的项目文件夹,然后Properties在底部选择。然后转到Java Compiler1.6从顶部的下拉菜单中选择 ( Compiler compliance level)。

还要确保您使用的是Views OnClickListener

button.setOnClickListener(new View.OnClickListener() {
    @Override   
    public void onClick(View v) {
         db.update();
    }
});
于 2012-07-01T10:12:10.180 回答
0

采用

button.setOnClickListener(new View.OnClickListener() {  
@Override  
public void onClick(View v) {  
db.update();  
}  
}); 

并确保您正在导入import android.view.View.OnClickListener;

于 2012-07-01T10:10:29.620 回答
0

您可能需要像这样在 OnClickListener 前面添加 View:

button.setOnClickListener(new View.OnClickListener() {  
  @Override  
  public void onClick(View v) {  
    db.update();  
  }  
});  

另一个潜在问题:OnClick 中的代码将在 UI 线程中运行,更新数据库可能是一个漫长且阻塞的操作,因此您不应该在 UI 线程中执行此操作。而是创建一个新线程。

于 2012-07-01T10:15:52.010 回答