2012-04-07 174 views
0

我試圖得到一個自定義菜單來顯示菜單按鈕,當我的手機上點擊。它根本沒有顯示。Android菜單沒有顯示

我在這個文件夾/ res/drawable中有一個註冊圖標caled register.png。 我的my_menu.xml位於名爲/ res/menu的文件夾中。 我是否擺弄了我的文件夾,或者在我的下面的代碼中出現了錯誤。

我改名menu.xml文件,以my_menu.xml 我改變了我的代碼,現在即時得到這些錯誤:

[2012-04-07七時50分43秒 - HelloWebView] W /的ResourceType(1560): Bad XML block:找不到根元素節點 [2012-04-07 07:50:43 - HelloWebView] C:\ Users \ josh \ workspace \ HelloWebView \ res \ menu \ my_menu.xml:錯誤:沒有資源標識符在包發現屬性 'showAsAction' '機器人'

my_menu.xml

<?xml version="1.0" encoding="utf-8"?> 

<menu xmlns:android="http://schemas.android.com/apk/res/android">  
    <item android:id="@+id/register"   
     android:icon="@drawable/register"   
     android:title="@string/register"   
     android:showAsAction="ifRoom"/>  

</menu> 

Mainapp

public class HelloWebViewActivity extends Activity { 
    WebView mWebView; 

    /** Called when the activity is first created. */ 

    public void onCreate(Bundle savedInstanceState) {  
     super.onCreate(savedInstanceState);  
     setContentView(R.layout.main);  
     mWebView = (WebView) findViewById(R.id.webview);  
     mWebView.getSettings().setJavaScriptEnabled(true);  
     mWebView.loadUrl("http://www.Google.com"); 
     mWebView.setWebViewClient(new HelloWebViewClient()); 
    } 

    private class HelloWebViewClient extends WebViewClient { 
     @Override  
     public boolean shouldOverrideUrlLoading(WebView view, String url) {   
      view.loadUrl(url);   
      return true;  
     }} 

    @Override 
    public boolean onKeyDown(int keyCode, KeyEvent event) {  
     if ((keyCode == KeyEvent.KEYCODE_BACK) && mWebView.canGoBack()) {   
      mWebView.goBack();  
      return true;  
     }  
     return super.onKeyDown(keyCode, event);} 

    @Override 
    public boolean onCreateOptionsMenu(Menu my_menu) {  
    MenuInflater inflater = getMenuInflater();  
    inflater.inflate(R.menu.menu, my_menu);  

    return true; 
    } 
} 
+2

你可以嘗試將你的menu.xml重命名爲main_menu.xml之類的東西嗎? – Shubhayu 2012-04-07 02:15:01

+1

什麼是您的應用程序API級別? android:showAsAction屬性只在API 11以上的版本。 – 2012-04-07 13:24:08

+0

我認爲10我刪除那行代碼 – CsharpBeginner 2012-04-07 13:46:56

回答

3
inflater.inflate(R.menu.my_menu, my_menu); 

與消除
android:showAsAction="ifRoom"

1

每件事看起來乾淨只是乾淨,並建立你的應用程序。此外,如果這些解決方案沒有解決您的問題,一旦卸載應用程序並重新安裝它。

也如果您的XML名稱menu.xml文件使其menu.xml文件......這是區分大小寫的

+0

它是小寫字母。我注意到這行代碼可能有問題。 inflater.inflate(R.menu.menu,菜單);第二個菜單是藍色的。我的菜單是否需要命名爲mymenu或其他東西> – CsharpBeginner 2012-04-07 11:58:21

+0

不是它不是這樣的 – 2012-04-07 14:13:54

1

單獨解決的代碼我有一個類似的問題。我沒有收到任何錯誤,只是沒有顯示菜單按鈕。我通過更改android:theme =「@ style/AppBaseTheme」(或任何其他與minSDK兼容的主題)來修復Manifest.xml文件中的問題。因爲我搞亂了style.xml文件並創建了我自己的。這導致了這個問題。可以幫助。

+0

我有同樣的問題,除了我有這個屬性不僅爲定義,但每個定義。 – Markon 2016-04-09 09:11:19