Android中的AppCompat资源$ NotFoundException?

时间:2014-12-06 10:02:24

标签: android android-spinner android-adapter android-theme android-appcompat

我的android应用程序中有以下微调器:

<Spinner android:id="@+id/spnYear"
         style="@style/Widget.AppCompat.Spinner"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1" />

当我为它定义以下适配器时,一切正常:

adapterYears = new ArrayAdapter<Integer>(this, android.R.layout.simple_spinner_item);
spnYear.setAdapter(adapterYears);

但是当我定义以下适配器时:

adapterYears = new ArrayAdapter<Integer>(this, R.style.Widget_AppCompat_Light_DropDownItem_Spinner);
spnYear.setAdapter(adapterYears);

我收到运行时错误:

12-03 15:41:01.789: E/AndroidRuntime(922): FATAL EXCEPTION: main
12-03 15:41:01.789: E/AndroidRuntime(922): android.content.res.Resources$NotFoundException: Resource ID #0x7f0b0057
12-03 15:41:01.789: E/AndroidRuntime(922):  at android.content.res.Resources.getValue(Resources.java:1010)
12-03 15:41:01.789: E/AndroidRuntime(922):  at android.content.res.Resources.loadXmlResourceParser(Resources.java:2088)
12-03 15:41:01.789: E/AndroidRuntime(922):  at android.content.res.Resources.getLayout(Resources.java:849)

我注意到appcompat_v7项目中的资源未添加到我的apk文件中。

当我使用android.R.layout.simple_spinner_item并按住Ctrl键并将鼠标放在android.R.layout.simple_spinner_item上时,我有以下菜单:

enter image description here

但是当我使用R.style.Widget_AppCompat_Light_DropDownItem_Spinner并按住Ctrl键时,我没有任何打开xml文件的菜单。

我认为问题在于将库添加到我的项目中,但我找不到问题。

我已点击链接https://developer.android.com/tools/support-library/setup.html#add-library,但问题仍未解决。

我现在该怎么办?

1 个答案:

答案 0 :(得分:1)

R.style.Widget_AppCompat_Light_DropDownItem_Spinner 不是布局,它需要布局文件的ID,就像您在AppCompat中使用的第一个或者像 support_simple_spinner_dropdown_item.xml 一样。< / p>