2011-04-10 14 views
0

ここに私のコードが表示されます。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); 
    .... 
    } 
} 

そしてここで "status.xml" と命名された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は、" 別のアクティビティから呼び出されます。そして、ビューで私はキャンバスを描画し、その上にいくつかのグラフィックを描いています。私はそれの上に膨張メニューを取得する必要があります。しかし、私は与えられたコードでそれを試すと、次のエラーが返されます

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を使用する必要があります。そして、あなたがレイアウトを膨らませたいなら、タグを使わないでください。

+0

私はMenuInflaterに変更し、xmlをmenuという名前の新しいフォルダに移動しました。そして、私は新しいerror.04-10 20:37:08.000:エラー/ AndroidRuntime(3127):致命的な例外:メイン 04-10 20:37:08.000:ERROR/AndroidRuntime(3127):java.lang.NullPointerException 04-10 20:37:08.000:ERROR/AndroidRuntime(3127):android.view.MenuInflater $ MenuState.addItem(MenuInflater.java:310) 04-10 20:37:08.000:エラー/ AndroidRuntime(3127): android.view.MenuInflater.parseMenu(MenuInflater.java:154) 04-10 20:37:08.000:ERROR/AndroidRuntime(3127):android.view.MenuInflater.inflate(MenuInflater.jav – dinesh707

+0

) – Michael

+0

このドキュメントを読んでみてください:http://developer.android.com/guide/topics/ui/menus.html – Michael