2013-02-14 21 views
9

Xin chào nhà phát triển Android,Android - Trình đơn làm mới tùy chọn mà không gọi invalidateOptionsMenu()

Tôi đã thấy rất nhiều câu hỏi liên quan đến cập nhật menu tùy chọn. Tuy nhiên, mọi câu trả lời đều nói rằng tôi phải gọi số invalidateOptionsMenu().

Câu hỏi của tôi là, có cách nào khác để cập nhật Menu Tùy chọn mà không cần gọi phương thức invalidateOptionsMenu() không?

+2

Có một lý do để không sử dụng 'invalidateOptionsMenu()'? Đó là chính xác những gì nó có cho ... – kcoppock

+0

Tôi đã tạo một classA mở rộng Hoạt động. Đã tạo classB mở rộng classA. classC (Gọi hoạt động XML của tôi) mở rộng classC. –

+0

Xem http://stackoverflow.com/a/11699930/597657 –

Trả lời

17
@Override 
    public boolean onPrepareOptionsMenu(Menu menu) { 

     menu.clear(); // Clear the menu first 

      /* Add the menu items */ 

     return super.onPrepareOptionsMenu(menu); 
    } 

này đã giải quyết được vấn đề về việc cập nhật các OptionsMenu mà không viện dẫn invalidateOptionsMenu()

+0

invalidateOptionsMenu calls onItemSelected của spinner trong thanh hành động tôi phải cung cấp cho một thử cho việc này! –

+0

hoạt động! Tôi không thể sử dụng invalidateOptionsMenu bởi vì bằng cách nào đó sau khi gọi đó, bánh mì nướng giả sử xuất hiện sau khi biểu tượng mục menu nhấn lâu không hoạt động nữa – Bruce

Các vấn đề liên quan