2011-03-08 7 views
4

私はメインメニューを保持するメインアクティビティを持っています。このメニューには、子孫SurfaceViewという2番目のアクティビティを開始するオプションがあります。時折のバイナリXMLファイルの行#XX:エラーが発生するクラス<unknown>

このエラーは何度か発生していますが、必ずしもそうではありません。最初のアクティビティのメニューボタンを使って2番目のアクティビティを呼び出し、最初のアクティビティに戻るプロセスを実行する必要があります。最終的に(通常7回目の繰り返しで)、2番目のエラーが発生します。活動が開始されています。デバッガをWhitoutすると、電話画面が黒くなって約30秒以上ブロックされ、ダイアログを閉じて閉じます。デバッガでは、この例外でアプリケーションが停止します。第二の活動のための

マイレイアウトファイルは次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <com.myapp.MySecActivity 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" android:id="@+id/sec_view"/> 

</FrameLayout> 

私はコンストラクタへの負荷、このレイアウトで、クラスMySecActivityを持っています。

InflateExceptionsetContentViewにあります。すべての条件で、私は私がsetContentViewに渡すIDをチェックすることだし、それは同じだ、nullではない:

int id = getResources().getIdentifier("mylayout", "layout", getPackageName()); 

if (id<= 0) { 
    id= 0; // just for debugging 
} else { 
    try { 
     setContentView(id); 
    } catch (InflateException e) { 
     error = true; 
    } 
} 

答えて

3

あなたは<?xml .. ?>プレリュードを持っているだけでなく、あなたのXML名前空間を設定する必要があります。あなたはこれをしていますか?

<?xml version="1.0" encoding="utf-8"?> 
<com.myapp.MySecActivity 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    ... 

com.myapp.MySecActivityは、あなたのルート要素ではない場合、あなたがそれを見て私たちをたい場合、その後、あなたの全体のレイアウトを貼り付けてみてください。

関連する問題