button1.setOnClickListener(new OnClickListener() {
public boolean onOptionsItemSelected(MenuItem item) { // 錯誤位置
...
}
@Override
public void onClick(View v) { ... }
});
onOptionsItemSelected 是 Activity 的生命周期方法,用於處理選項菜單點擊,不能定義在 View.OnClickListener 內部匿名類中。
// Activity 中重寫
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.add_item: ...; break;
case R.id.remove_item: ...; break;
}
return super.onOptionsItemSelected(item);
}
// Button 點擊單獨處理
button1.setOnClickListener(v -> Toast.makeText(this, "Clicked", Toast.LENGTH_SHORT).show());