I'm seeing an error I've never seen before w/ Android that's preventing some of my layout files from rendering in Eclipse. They render fine at runtime.
The error that shows up in the graphical layout editor (and my Error log) is: "Resouce id 0x1010081 is not of type STYLE (instead attr)"
I've searched for resource id 0x1010081 in my R files, and I can't find it so I'm guessing maybe somehow I have a conflict with a built in Android attr. I've also verified that all of my style attributes below point to actual styles and not attr. Any help appreciated.
Here's my full layout code:
<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>
And here's my 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>
And here's my custom 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>
Delete all
style
elements and then add them one after another and always check if it still renders. So you can at least find out which one's to blame.As JulianSymes says the problem is
His solution (replace for
android:spinnerStyle="@android:style/Widget.Spinner.DropDown"
) runs on my phone but not on my tabletMy solution is more simple: DELETE THE LINE.
spinnerMode="dropdown"
is by default, therefore it's unnecesaryI also have this problem, with the same resource ID showing up. It disappears when I change
android:spinnerMode
to"dialog"
so I suspect it's not a problem with your code.The id in question refers to the android attribute
spinnerStyle
. See the doc for R.attrI found a workaround, namely replace
android:spinnerMode="dropdown"
with
android:spinnerStyle="@android:style/Widget.Spinner.DropDown"
.As Google points to this page for this error, and for the sake of posterity...
In my case, in a whim, I closed and reopened eclipse and boom the error was gone and eclipse had no problem rendering the preview.
Though I strongly believe this may not be the case for all.
If you feel you have done everything right, I guess, it won't hurt restarting eclipse.
Have you tried changing the each style property to something like this: