Alles, was ich versucht bin ArrayAdapter
einen Selektor ziehbar Ressource für eine benutzerdefinierte zu implementieren. Ich bin immer konsequent eine android.content.res.Resources$NotFoundException: File res/drawable/list_selector.xml from drawable resource ID #0x7f020
Drawable Ressourcen Not Found
Könnte jemand bieten Anregungen?
ich zwei XML-Dateien haben:
res/ziehbar/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/layout/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>
Schließlich lädt mein Code den Listeneintrag wie folgt:
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;
}
Danke, der Drawable hat es geschafft. Bitte entfernen Sie den logischen Vorschlag, es ist nicht auf die Frage anwendbar. – Constantin
@Constantin Fertig. – Vikram
Irgendeine Idee, wie Selektoren btw arbeiten? Ich experimentiere mit der Änderung der Hintergrundfarbe eines ListView-Elements zur Laufzeit. Ein Ansatz bestand darin, 'setBackgroundColor()' programmatisch zu verwenden, dies war einfach und funktionierte. Der Selektor funktioniert (unerwartet) auch, aber nicht richtig. Es werden nicht die richtigen Farben eingestellt. Irgendwelche Gedanken darüber, wo ich auf Sicht die Inflation, also lesen können, sind Selektoren nur statisch einmal verwenden, um die Inflation oder kontinuierlich? Oder nutzen Standard-'getView()' Aufrufe sie? – Constantin