我正在尝试为自定义ArrayAdapter
实现选择器可绘制资源。我一直得到android.content.res.Resources$NotFoundException: File res/drawable/list_selector.xml from drawable resource ID #0x7f020
有人可以提供建议吗?
我有两个xml文件:
RES /抽拉/ list_selector.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:color="@android:color/white" />
<item android:state_checked="false" android:color="@android:color/black" />
</selector>
RES /布局/ list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:id="@+id/casualty_text_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/list_selector"/>
</LinearLayout>
最后,我的代码加载列表项,如下所示:
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
TCCC cur_object = getItem(position);
View cur_view = convertView;
if(cur_view == null)
{
System.out.println("Inflating!");
cur_view = View.inflate(getContext(), R.layout.list_item, null);
String text_value = (cur_object.m_name.length() == 0) ? "New Casualty" : cur_object.m_name;
TextView name_box = (TextView)cur_view.findViewById(R.id.casualty_text_view);
if(name_box != null)
name_box.setText(text_value);
}
return cur_view;
}
答案 0 :(得分:11)
看看@Nebraska建议的帮助。
否则,试试这个:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_checked="true" android:drawable="@android:color/white" />
<item android:state_checked="false" android:drawable="@android:color/black" />
</selector>
答案 1 :(得分:3)
首先,将它们放在hdpi文件夹中,然后清理项目。它将更新所有内容,错误应该消失。
答案 2 :(得分:0)
另一种解决方案是我将XML drawables移动到drawable /文件夹,它对我来说非常好。你可能想尝试一下。
VectorDrawableCompat Resources$NotFoundException on KitKat and below
答案 3 :(得分:0)
对我来说,困惑是我用png代替了所有可绘制矢量的实例,只有一个除外,这就是失败的原因。确保并检查导致问题的资源的所有实例,并且一切都与预期的一样。
答案 4 :(得分:0)
我遇到了类似的问题,我可以通过删除.xml可绘制对象顶部的空白行来解决此问题。