2011-04-10 45 views
0

所以这里是我在View中的代码。LayoutInflater问题Android

public class TheView extends View { 
.. 
    public boolean onKeyDown(int keyCode, KeyEvent event){ 
    .... 
    LayoutInflater inflater = this.game.getLayoutInflater(); 
    inflater.inflate(R.layout.status, null); 
    .... 
    } 
} 

这里是xml文件的代码被命名为 “status.xml”

<?xml version="1.0" encoding="utf-8"?> 
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@+id/settings" 
      android:title="@string/app_name"/> 
</menu> 

“TheView” 从另一个活动调用。在View中,我绘制了一个画布并在其上绘制了一些图形。我需要在上面得到一个充气的菜单。但是,当我尝试用给定的代码它给出了以下错误

04-10 20:05:27.090: ERROR/AndroidRuntime(2208): FATAL EXCEPTION: main 
04-10 20:05:27.090: ERROR/AndroidRuntime(2208): android.view.InflateException: Binary XML file line #2: Error inflating class menu 
04-10 20:05:27.090: ERROR/AndroidRuntime(2208):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576) 
04-10 20:05:27.090: ERROR/AndroidRuntime(2208):  at android.view.LayoutInflater.inflate(LayoutInflater.java:385) 
04-10 20:05:27.090: ERROR/AndroidRuntime(2208):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 

任何建议???

回答

1

你必须使用MenuInflater膨胀一个菜单。如果你想膨胀一个布局,那么不要使用menu标签。

+0

我更改为MenuInflater并将xml移动到名为as menu的新文件夹中。我得到一个新的错误。04-10 20:37:08.000:错误/ AndroidRuntime(3127):致命例外:主 04-10 20:37:08.000:错误/ AndroidRuntime(3127):java.lang.NullPointerException 04-10 20:37:08.000:错误/ AndroidRuntime(3127):at android.view.MenuInflater $ MenuState.addItem(MenuInflater.java:310) 04-10 20:37:08.000:ERROR/AndroidRuntime(3127):在android.view.MenuInflater.parseMenu(MenuInflater.java:154) 04-10 20:37:08.000:错误/ AndroidRuntime(3127):在android.view.MenuInflater.inflate(MenuInflater.jav – dinesh707 2011-04-10 20:38:19

+0

似乎你通过'在第二个参数中为'null' – Michael 2011-04-10 20:42:32

+0

试着阅读本文档:http://developer.android.com/guide/topics/ui/menus.html – Michael 2011-04-10 20:43:05