Meiner Meinung nach sollte es möglich sein den Weg zu beschreiben, aber leider nicht.
Was ich bisher gefunden habe, ist, dass Sie eine XML-Ressource verwenden müssen, die beschreibt, wie der Hintergrund aussehen soll, wenn der 'Status' des Elements 'aktiviert' ist.
Erstellen Sie im Verzeichnis 'res / drawable /' eine Datei namens 'list_item_background_activated.xml'.
Darin definieren Sie ein Wurzelelement vom Typ Selektor:
%Vor%Nun sollten Sie die zugehörige Ressource (die Ressource, die definiert, wie ListItem aussieht) ändern, um auf diese ziehbare Datei zu verweisen:
%Vor%Ich habe die Anleitung zum Erstellen kontextabhängiger Aktionsmenüs der offiziellen Android-Seite verfolgt. Wenn ich einen der folgenden ListView-Elemente länger drücke, wird ausgewählt, aber der angezeigte Code wird nicht visuell angezeigt. Ich verwende das Holo Light Theme, und ich erwarte, dass die Hintergrundfarbe jedes ausgewählten Elements in meiner ListView in einen blauen Farbton wechselt.
Ist das normales Verhalten?
Ich habe versucht, %code% zu testen und nicht einmal eine einzelne Zeile zu markieren.
Die Verwendung von %code% scheint die zuletzt ausgewählte Zeile zu markieren, hebt jedoch nicht die anderen ausgewählten Zeilen hervor.
Habe ich etwas falsch gemacht, oder muss ich den Hintergrund manuell ändern? Wenn ja, wie?
Ich habe auch %code% ausprobiert, was ein echter Selektor ist, der Elemente für verschiedene Zustände enthält. Leider gilt dies immer noch nur für den zuletzt ausgewählten ListView-Eintrag.
%Vor%Danke!
Ich habe gerade den kontextuellen Aktionsmodus implementiert und hatte das gleiche Problem, das Sie hatten / hatten. Ich dachte auch, dass das Standardverhalten wäre, dass jede ausgewählte Zeile auf irgendeine Weise hervorgehoben wäre, aber nein.
Der einfachste Weg für mich, den gewünschten Effekt zu erzielen, bestand darin, die Listeneintragsressource, die ich für meine ListActivity verwendete, zu ändern.
Ich benutze einen ArrayAdapter, so dass die Wahl für mich im Konstruktor des Adapters getroffen wird:
%Vor%Der letzte Parameter ist die Ressourcen-ID für eine Layout-Datei, die der Adapter für die Erstellung neuer Ansichten (Listenelemente) in der Listenansicht verwendet.
Ich hatte den gewählt, den ich für den grundlegendsten hielt. Durch Ändern in:
%Vor%Ich habe den gewünschten Effekt, die im kontextuellen Aktionsmodus ausgewählten Zeilen bleiben jetzt hervorgehoben.
Es gibt auch ein paar andere Ressourcen-IDs, die in android.R.layout definiert sind, aus denen Sie auswählen können, um ein ähnliches, aber anderes Ergebnis zu erhalten: Ссылка , simple_list_item_activated_1 hat es einfach für mich gemacht.
Nicht sicher, ob
%Vor%verbirgt einen Adapter und wenn ja, einen Array-Adapter, aber falls ja, sollte dies helfen.
Sonst könnte man die vordefinierten Ressourcen an einer anderen Stelle verwenden oder den etwas längeren Weg nehmen und Selektoren definieren, wie Brabbeldas es vorschlägt