Android的菜单没有显示出来 [英] Android Menu not showing up

查看:309
本文介绍了Android的菜单没有显示出来的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试着去得到一个自定义菜单点击我的手机上的菜单按钮时显示。在所有它不显示。

我caled在这个文件夹/ RES /绘register.png寄存器图标。
我有我的my_menu.xml一个名为/ RES /菜单文件夹中。
难道我躺在了我的文件夹错误的或者是就在我下面code不对劲。

我改名为menu.xml文件my_menu.xml
我改变了我的code,现在即时得到这些错误:

[2012-04-07 7时50分43秒 - HelloWebView] W /的ResourceType(1560年):坏XML块:没有根元素节点发现
[2012-04-07七点50分43秒 - HelloWebView] C:\\用户\\乔希\\工作区\\ HelloWebView \\水库\\菜单\\ my_menu.xml:4:错误:没有在包中发现属性showAsAction'资源标识符'机器人

my_menu.xml

 <?XML版本=1.0编码=UTF-8&GT?;<菜单的xmlns:机器人=htt​​p://schemas.android.com/apk/res/android>
    <项目机器人:ID =@ + ID /注册
        机器人:图标=@绘制/注册
        机器人:标题=@字符串/注册
        机器人:showAsAction =ifRoom/>&所述; /菜单>

Mainapp <​​/ P>

 公共类HelloWebViewActivity延伸活动{
    的WebView mWebView;    / **当第一次创建活动调用。 * /    公共无效的onCreate(捆绑savedInstanceState){
        super.onCreate(savedInstanceState);
        的setContentView(R.layout.main);
        mWebView =(的WebView)findViewById(R.id.webview);
        mWebView.getSettings()setJavaScriptEnabled(真)。
        mWebView.loadUrl(http://www.Google.com);
        mWebView.setWebViewClient(新HelloWebViewClient());
    }    私有类HelloWebViewClient扩展WebViewClient {
        @覆盖
        公共布尔shouldOverrideUrlLoading(的WebView视图,字符串URL){
            view.loadUrl(URL);
            返回true;
        }}    @覆盖
    公共布尔的onkeydown(INT键code,KeyEvent的事件){
        如果((键code == KeyEvent.KEY code_BACK)及和放大器; mWebView.canGoBack()){
            mWebView.goBack();
            返回true;
        }
        返回super.onKeyDown(键code,事件);}    @覆盖
    公共布尔onCreateOptionsMenu(菜单my_menu){
    MenuInflater吹气= getMenuInflater();
    inflater.inflate(R.menu.menu,my_menu);    返回true;
    }
}


解决方案

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

这与去除结果单独解决的code 的android:showAsAction =ifRoom

Im trying to get a custom menu to show when the menu button is clicked on my phone. Its not showing at all.

I have a register icon caled register.png in this folder /res/drawable. I have my my_menu.xml in a folder called /res/menu. Did I lay out my folders wrong or is there something wrong in my code below.

I renamed menu.xml to my_menu.xml I changed my code and now im getting these errors:

[2012-04-07 07:50:43 - HelloWebView] W/ResourceType( 1560): Bad XML block: no root element node found [2012-04-07 07:50:43 - HelloWebView] C:\Users\josh\workspace\HelloWebView\res\menu\my_menu.xml:4: error: No resource identifier found for attribute 'showAsAction' in package 'android'

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;
    }
}

解决方案

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

That solved the code alone with removing
android:showAsAction="ifRoom"

这篇关于Android的菜单没有显示出来的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆