4

問題:

Xamarin Studio で Android プロジェクトのレイアウト ファイルを変更する、メインランチャー (SplashActivity) が次の例外をスローします。プロジェクトをクリーンアップするまで例外がスローされ続けます。


例外:

バイナリ XML ファイルの 17 行目: クラスの拡張中にエラーが発生しました

スローされる例外


環境:

次のツールを使用しています。

Xamarin Studio: Version 5.2.1 (build 1)
Xamarin.Android: Version 4.1.0

次の関連設定を使用します。

Android の最小バージョン: Android 4.3 (API レベル 16)

コンピューター:

Windows 7 ホーム プレミアム SP1 (x64)

試験装置:

Android 4.3 を搭載した Samsung Galaxy S4


関連コード:

SplashLayout.axml :

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <TextView
        android:text="Loading..."
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/SPLASH_messageText" />
</LinearLayout>

SplashActivity (OnCreate だけにトリミング) :

protected override void OnCreate (Bundle bundle)
{
    base.OnCreate (bundle);
    SetContentView (Resource.Layout.SplashLayout);   // <-- this is where the exception is thrown
    MessageTextView = FindViewById<TextView> (Resource.Id.SPLASH_messageText);      // Get a reference to our message text view to update the user

    ThreadPool.QueueUserWorkItem (o => {
        InitialChecking();               // Check to make sure Google Play services are installed
    });
} // end OnCreate

私の研究:

以下は、関連しているように見えるが、私の現在の状況には関係のない質問のリストです。


追加情報:

  • デバッグする前にソリューションをクリーンアップすると、レイアウト ファイル を変更するまでエラーは解決されます。
  • この例外がスローされると、ソリューションをクリーンアップするまでスローされ続けます。
  • アクティビティの XML にはテキスト ビューしかなく、描画可能なリソースを呼び出しません。さらに、SplashLayout.axml12 行のコードしか含まれていません。

質問:

  • このエラーの原因は何ですか?また、本番環境で発生する可能性はありますか?
4

1 に答える 1

0

axml ファイルに次の行を追加してみてください: xmlns:app="http://schemas.android.com/apk/res-auto"

関係ないように聞こえるかもしれませんが、私はかつてインフレの問題を抱えていましたが、そうすることで解決しました。

于 2014-12-18T09:06:01.590 に答える