0

我想在操作欄中顯示不同的菜單(我使用sherlock操作欄),具體取決於在webview中執行打開頁面的javascript功能。切換操作欄菜單

例如,在page1.html中,調用Android.showMenu(1)。 在page2.html中,調用Android.ShowMenuB(2)

目前的菜單全部由java代碼定義的,就像這樣:

public boolean onCreateOptionsMenu (Menu menu) { 
super.onCreateOptionsMenu (menu); 
MenuItem menu0 menu.add = (0, 0, 0, "ButtonA"); 
{ 
menu0.setIcon (R.drawable.buttona); 
menu0.setShowAsAction (MenuItem.SHOW_AS_ACTION_IF_ROOM); 
} 
MenuItem menu1 menu.add = (0, 1, 1, "ButtonB"); 
{ 
menu1.setIcon (R.drawable.buttonb); 
menu1.setShowAsAction (MenuItem.SHOW_AS_ACTION_IF_ROOM); 
} 
return true; 
} 

我檢測使用JavascriptInterface這樣的功能的存在:

myWebView.addJavascriptInterface (new WebAppInterface (this), "Android"); 
... 
{public class WebAppInterface 
Context mContext; 
WebAppInterface (Context c) { 
mContext = c; 
} 
@ JavascriptInterface 
public void showMenuA (int menu) { 
?? 
} 
} 

是否有可能?或者我將不得不使用其他方法?

+0

我也掙扎在同一screnario無效操作欄。你可以幫我嗎? – Karthick

回答

2

您可以使用onPrepareOptionsMenu()填充在飛行行動項目,並使用invalidateOptionsMenu()

+0

嗨,我也在上面的情況下掙扎。請給我代碼?我怎樣才能動態添加菜單項,並在點擊菜單項的同時給javascript一個回調。 – Karthick