私はAndroidが初めてです。
1つのテキストバーと2つのボタンで新しいレイアウトを作成しましたが、機能しませんでした。スタックトレースと相対レイアウトファイルを投稿しています。そこには、描画可能なサイズを小さくするという同じ質問がありました。しかし、それは私の場合には役に立たなかった、または私はそれを減らす方法について今はあまりしなかった。スタックトレースの一部を次に示します。
D/AndroidRuntime(1192): Shutting down VM
W/dalvikvm(1192): threadid=1: thread exiting with uncaught exception (group=0xb60cc4f0)
E/AndroidRuntime(1192): FATAL EXCEPTION: main
E/AndroidRuntime(1192): Java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.hellomissworld/com.example.hellomissworld.MainActivity}: Android.view.InflateException: Binary XML file line #1: Error inflating class Android.widget.RelativeLayout
E/AndroidRuntime(1192):at Android.app.ActivityThread.performLaunchActivity(ActivityThread.Java:1647)
12-24 18:58:31.451: E/AndroidRuntime(1192): at Android.app.ActivityThread.handleLaunchActivity(ActivityThread.Java:1663)
12-24 18:58:31.451: E/AndroidRuntime(1192): at Android.app.ActivityThread.access$1500(ActivityThread.Java:117)
12-24 18:58:31.451: E/AndroidRuntime(1192): at Android.app.ActivityThread$H.handleMessage(ActivityThread.Java:931)
それがレイアウトのxmlファイルです:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:background="@layout/activity_main"
Android:focusable="false"
Android:paddingBottom="@dimen/activity_vertical_margin"
Android:paddingLeft="@dimen/activity_horizontal_margin"
Android:paddingRight="@dimen/activity_horizontal_margin"
Android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<EditText
Android:id="@+id/editText1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_alignParentRight="true"
Android:layout_marginTop="24dp"
Android:ems="10"
Android:inputType="text" >
<requestFocus />
</EditText>
<TextView
Android:id="@+id/textView1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignLeft="@+id/editText1"
Android:layout_alignParentTop="true"
Android:text="@string/typehere"
Android:textAppearance="?android:attr/textAppearanceMedium" />
<Button
Android:id="@+id/button2"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignRight="@+id/editText1"
Android:layout_below="@+id/editText1"
Android:text="@string/ok" />
<Button
Android:id="@+id/button1"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_below="@+id/editText1"
Android:layout_toLeftOf="@+id/button2"
Android:text="@string/cancel" />
</RelativeLayout>
変更する必要があります
Android:background="@layout/activity_main"
に
Android:background="@drawable/yourImageName"
実際には大きすぎる大きな画像を使用しているときに、このエラーがポップアップすることもあります。これは、メモリエラーにつながり、アプリをクラッシュさせます。背景画像や大きなアセットを使用している場合は、それらが存在し、大きすぎないことを確認してから、雨の中で歌ってください!
この行は、レイアウトの最初の行を示しています。
Android.view.InflateException: Binary XML file line #1: Error inflating class
そして、最初の行には相対レイアウト宣言があります:
したがって、エラーはAndroid:background
、およびこれはレイアウトの背景を設定する正しい方法ではありません。
Android:background="@layout/activity_main"
カラーまたは描画可能な画像である必要があります
Android:background="@color/backgroundColor"
またはAndroid:background="#012345"
または
Android:background="@drawable/backgroundimg"
これは間違っています Android:background="@layout/activity_main"
は
Android:background="@color/backgroundColor"
または
Android:background="@drawable/backgroundimg"
私のケースでそれを修正したのは、color.xml
の場所を変更することでした
私の他のプロジェクトからコピーして新しいプロジェクトに貼り付けたとき、Android Studioはそれをv21
フォルダーに配置したため、エミュレーター(v19)はリソースファイルcolor.xml
。
私はそれを修正するために次のことをしました:
color.xml
を右クリックします。Refactor
> Move
を選択します。-v21
を削除しました。これで、私の「古い」エミュレーターはファイルを読み取ることができました。
私はそれが役立つことを願っています。
私は同じ問題を抱えていました-しかし、背景画像のないアクティビティで。
GUIエディター(Eclipseを使用している場合、Android Studio)がわからない)が理由なくバグのあるプロパティを追加することがあることがわかりました。
Android:background="@layout/activity_main"
エディタがそうする理由はわかりません-多分それはバグか、単に使用エラーです。
ただし、アクティビティに背景画像がない場合は、プロパティ全体を削除するだけです!