Android)でこれまでに見たことのないエラーが表示され、一部のレイアウトファイルがEclipseでレンダリングされなくなりました。実行時に正常にレンダリングされます。
グラフィカルレイアウトエディタ(および私のエラーログ)に表示されるエラーは、「リソースID 0x1010081はタイプSTYLEではありません(代わりにattr)」です。
RファイルでリソースID0x1010081を検索しましたが、見つかりません。おそらく、組み込みのAndroid attr。と競合しているのではないかと思います。また、以下のすべてのスタイル属性が属性ではなく実際のスタイルを指していることを確認しました。
これが私の完全なレイアウトコードです:
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:tools="http://schemas.Android.com/tools"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@drawable/bkg_light"
Android:padding="@dimen/padding_med" >
<RelativeLayout
Android:id="@+id/relativeLayout_activity"
Android:layout_width="fill_parent"
Android:layout_height="@dimen/button_height"
Android:background="@drawable/xml_button"
Android:padding="@dimen/padding_med" >
<TextView
style="@style/text_large_bold_white"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_centerVertical="true"
Android:text="@string/activity" />
<TextView
Android:id="@+id/textView_activity"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_centerVertical="true"
Android:layout_marginRight="@dimen/margin_med"
Android:layout_toLeftOf="@+id/textView_arrow_right_start_date"
Android:text="@string/none_selected"/>
<TextView
Android:id="@+id/textView_arrow_right_start_date"
style="@style/arrow_right"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_centerVertical="true" />
</RelativeLayout>
<!-- kv Duration -->
<RelativeLayout
Android:id="@+id/relativeLayout_duration"
Android:layout_width="fill_parent"
Android:layout_height="wrap_content"
Android:layout_below="@+id/relativeLayout_activity"
Android:layout_marginTop="@dimen/margin_large"
Android:background="@drawable/xml_button">
<TextView
Android:id="@+id/textView_duration"
style="@style/text_large_bold_white"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentLeft="true"
Android:layout_centerVertical="true"
Android:text="@string/duration_lc"
Android:paddingLeft="@dimen/padding_med"/>
<Spinner
Android:id="@+id/spinner_duration"
Android:layout_width="wrap_content"
Android:layout_height="@dimen/button_height"
Android:layout_alignParentRight="true"
Android:entries="@array/array_durations"
Android:Prompt="@string/duration_lc"
Android:spinnerMode="dropdown"
Android:clickable="false"/>
</RelativeLayout>
</RelativeLayout>
そして、これが私のstyles.xmlです:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="arrow_right">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_xxlarge</item>
<item name="Android:text">@string/arrow_right</item>
</style>
<style name="button_blue">
<item name="Android:textStyle">bold</item>
<item name="Android:textColor">@color/white</item>
<item name="Android:background">@drawable/selector_button_blue</item>
<item name="Android:padding">@dimen/padding_med</item>
</style>
<style name="button_blue_small">
<item name="Android:textStyle">bold</item>
<item name="Android:textColor">@color/white</item>
<item name="Android:background">@drawable/selector_button_blue_small</item>
<item name="Android:padding">@dimen/padding_med</item>
</style>
<style name="button_dark">
<item name="Android:textStyle">bold</item>
<item name="Android:textColor">@color/white</item>
<item name="Android:background">@drawable/selector_button_dark</item>
<item name="Android:padding">@dimen/padding_med</item>
</style>
<style name="button_light">
<item name="Android:textStyle">bold</item>
<item name="Android:textColor">@color/black</item>
<item name="Android:background">@drawable/selector_button_light</item>
<item name="Android:padding">@dimen/padding_med</item>
</style>
<style name="button_light_small">
<item name="Android:textStyle">bold</item>
<item name="Android:textColor">@color/black</item>
<item name="Android:textSize">@dimen/text_small</item>
<item name="Android:background">@drawable/selector_button_light</item>
<item name="Android:padding">@dimen/padding_small</item>
</style>
<style name="text_small_gray_light">
<item name="Android:textSize">@dimen/text_small</item>
<item name="Android:textColor">@color/gray_light</item>
</style>
<style name="text_med_bold_gray_light">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_med</item>
<item name="Android:textColor">@color/gray_light</item>
</style>
<style name="text_large_bold_white">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_large</item>
</style>
<style name="text_large_bold_black">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_large</item>
<item name="Android:textColor">@color/black</item>
</style>
<style name="text_large_bold_gray_dark">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_large</item>
<item name="Android:textColor">@color/gray_dark</item>
</style>
<style name="text_large_bold_gray_light">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_large</item>
<item name="Android:textColor">@color/gray_light</item>
</style>
<style name="text_large_bold_white">
<item name="Android:textStyle">bold</item>
<item name="Android:textSize">@dimen/text_large</item>
<item name="Android:textColor">@color/white</item>
</style>
<style name="text_large_white">
<item name="Android:textSize">@dimen/text_large</item>
<item name="Android:textColor">@color/white</item>
</style>
</resources>
そして、これが私のカスタムtheme.xmlです:
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:Android="http://schemas.Android.com/apk/res/Android">
<style name="Theme.P90X" parent="@style/Theme.Sherlock">
<item name="Android:textColor">#ffffffff</item>
</style>
</resources>
同じリソースIDが表示され、この問題も発生します。 Android:spinnerMode
を"dialog"
に変更すると消えるので、コードに問題はないと思います。
問題のIDはAndroid属性spinnerStyle
を参照しています。 R.attr のドキュメントを参照してください
回避策、つまり置換を見つけました
Android:spinnerMode="dropdown"
と
Android:spinnerStyle="@Android:style/Widget.Spinner.DropDown"
。
各スタイルプロパティを次のようなものに変更してみましたか?
style="?attr/text_large_bold_white"
JulianSymesが言うように、問題は
Android:spinnerMode="dropdown"
彼の解決策(Android:spinnerStyle="@Android:style/Widget.Spinner.DropDown"
の代わり)は私の電話では実行されますが、タブレットでは実行されません
私の解決策はもっと簡単です:行を削除します。
spinnerMode="dropdown"
はデフォルトであるため、不要です
すべてのstyle
要素を削除してから、次々に追加し、それでもレンダリングされるかどうかを常に確認します。したがって、少なくともどちらが原因であるかを見つけることができます。
グーグルがこのエラーのために、そして後世のためにこのページを指しているように...
私の場合、気まぐれで、私はEclipseを閉じて再度開いたそしてブームのエラーはなくなり、Eclipseはプレビューのレンダリングに問題はありませんでした。
私はこれがすべてに当てはまるとは限らないと強く信じていますが。
すべてが正しいと感じた場合は、Eclipseの再起動に支障はないと思います。