首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Eclipse Android Menu 鍵無響應:onOptionsItemSelected 錯誤放入 onClickListener

     編輯:程式設計疑難解答

錯誤代碼

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());
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved