2012-05-30 18 views
0

更新選項菜單項,一些菜單項被禁用,數據到達後,將被啓用。
這裏是我的情況:
當菜單是當前顯示到用戶和數據到達,我怎樣才能立即啓用菜單項?它顯示當前由於一些原因

現在我只能夠在onPrepareOptionsMenu()/禁用菜單項,它只是調用時再次顯示菜單。僅供參考,我使用的Android 2.x的SDK

謝謝

回答

1

當opPrepareOptionsMenu被調用時,它會在菜單的引用,所以你可以保存在一個變量此引用,當數據準備好再次添加或啓用de選項。

+0

我試過這種方法,但它總是返回NullPointerException當訪問菜單引用... 是那當它沒有顯示時,引用將指向null? – Bear

+0

是的,是可能的,如果不是在屏幕 – h0m3r16

0

我已經做到了這一點,它是工作的罰款。看看這個代碼...

在創建您的菜單不同組添加到您的每一個菜單選項,讓您可以輕鬆地處理每個按鈕seperately。像:我給你舉行和恢復按鈕的例子。有一次只有一個按鈕會工作,所以如何做到這一點是代碼。在類

聲明此。

private static final int HOLD_CALL  = 0; 
private static final int RESUME_CALL = 1; 

寫這樣的代碼在你的公共布爾onCreateOptionsMenu(菜單菜單)

menu.add(0, HOLD_CALL, 0, "Hold Call"); 
menu.add(1, RESUME_CALL, 1, "Resume Call"); 

使用此在公共布爾onMenuOpened(INT FEATUREID,菜單菜單)

menu.setGroupEnabled(1, false);` 

上面的代碼將禁用您的菜單選項。希望它會幫助你如果你仍然面臨問題,然後讓我知道我會盡力幫助你...

+0

對不起這將是空的,我問編輯菜單項時顯示菜單時用戶 因此,他們的重點應該是如何,而不是存儲如何菜單參考編輯它... – Bear

+0

當用戶點擊菜單按鈕或當菜單已經在屏幕上顯示時,你想要它。 –