13

後で setContentView() を呼び出すと、このエラーが発生します

    requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
    getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.maintitlebar);

コードは、ListActivity を拡張するクラスの onCreate() にあります。私のマニフェスト XML ファイルは、アプリケーションのデフォルトの AppTheme を示しています。

     android:theme="@style/AppTheme"

styles.xml を次のように更新しました。

<resources>
   <style name="AppTheme" parent="android:Theme.Light" >
    <item name="android:windowNoTitle">true</item>
   </style>   
</resources>

これは、このエラー メッセージに関する主な投稿に従っているようです。ビルドもクリーンアップしましたが、まだ上記のエラー メッセージが表示されます。何が衝突を引き起こしているのか誰にも分かりませんか?

4

6 に答える 6

32

私は私を狂わせた同様の問題を抱えていました:共通コードとして共有ライブラリプロジェクトを使用している同じアプリの2つのバージョンがあります(各アプリの95%以上がその共有ライブラリプロジェクトで作られています):1つは問題なく正常に実行されます何でも。他のクラッシュは、開始時にあなたが説明したのと同じエラーメッセージと症状で発生します。

カスタムタイトルを他のタイトル機能と組み合わせることはできません

レイアウトXMLファイルも一般的です!それで、私はこの奇妙な問題の説明を見つけることができませんでした。

私自身と私の間で多くのブレインストーミングを行った後、2つのアプリの唯一の違いは、正常に動作するアプリのAndroidManifest.xmlにこれがあることです。

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="7" />

そして、クラッシュするものは、AndroidManifest.xmlにこれがあります:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="13" />

つまり、Android UIは第4世代のUIフレームワークであると宣伝されており、UIは宣言的で独立したテーマになっていますが、結局のところ、それはすべて同じです: Cでの開発(たとえば) for Microsoft Windowsは、Android用のJavaでの開発よりも時間がかかりません。これは、Android開発フレームワークが、コンパイル時にコンパイラーが何も通知せず、スローされた例外も通知しないこのような地雷でいっぱいだからです。 。代わりに、**運がドキュメントの小さな断片(存在する場合も存在しない場合もある)を見つけて、問題の根本原因を探す場所に関するヒントを提供することに頼る必要があります。

この情報が、同じ問題を経験している多くの人に役立つことを願っています。

于 2012-12-19T02:32:02.347 に答える
22

<item name="android:windowNoTitle">false</item> カスタムテーマで使用する必要が あります

于 2013-03-17T15:47:10.640 に答える
13

私は同じ問題を抱えており、これが私のために働いたものです:

AndroidManifest.xml

< application
   ...
   ...
   android:theme="@style/CustomTheme" >

Styles.xml

< style name="CustomTheme" parent="android:Theme">
< /style>

MainActivity.java

1)super.onCreate(savedInstanceState);

2)requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

3)setContentView(R.layout.activity_main);

4)getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title1);

上記のように、コードの順序は重要です。

あなたが持っている場合:

1)requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

2) setContentView(R.layout.activity_main);

3) super.onCreate(savedInstanceState);

4)getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title1);

次の例外が発生します。

android.view.InflateException: バイナリ XML ファイルの行 #37: クラス フラグメントの膨張エラー

于 2013-07-25T13:57:01.193 に答える
0

たぶん、これまでのこの質問はすでに解決されていますが、このエラーが発生している人のためにこの回答を投稿します...非常によく似た問題があり、マニフェストファイルを変更してもまったく機能しませんでしたが、それが機能した理由私は gradle Scripts に移動し、このファイルの build.gradle(Module:app) に移動し、minSdkVersion と targetSdkVersion を両方で同じに変更しました (この場合は例 7)。アプリは正しく実行されます!

于 2016-10-15T21:36:56.797 に答える