button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
db.update();
}
});
1 行目 ---> setonclicklistener を setkeylistener に変換し、3 行目でオーバーライド アノテーションを削除することを提案していますが、エラーが見つからないはずです...
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
db.update();
}
});
1 行目 ---> setonclicklistener を setkeylistener に変換し、3 行目でオーバーライド アノテーションを削除することを提案していますが、エラーが見つからないはずです...
@Override
onの使用は必須でpublic void onClick(View v)
はありませんが、その署名に違反していないことを確認する十分な理由になる可能性があります。ただし、 を使用する場合は@Override
、プロジェクトが Java 1.6 に準拠していることを確認してください。そうでない場合、「... スーパークラス メソッドをオーバーライドする必要があります」というエラーが発生する可能性があります。これを有効にするには、Eclipse 内のプロジェクト フォルダーを右クリックしProperties
、下部にある を選択します。次に、上部のドロップダウン メニューに移動しJava Compiler
て選択します ( )。1.6
Compiler compliance level
また、View
sを使用していることを確認してくださいOnClickListener
:
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db.update();
}
});
使用する
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db.update();
}
});
import android.view.View.OnClickListener;
パッケージをインポートしていることを確認してください
おそらく、次のように OnClickListener の前に View を追加する必要があります。
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
db.update();
}
});
別の潜在的な問題: OnClick 内のコードは UI スレッドで実行されます。DB の更新は時間がかかり、操作をブロックする可能性があるため、UI スレッドでは実行しないでください。代わりに、新しいスレッドを作成します。