1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

SelectionColor eines ListView Elements

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von MandraKobold, 23.11.2011.

  1. MandraKobold, 23.11.2011 #1
    MandraKobold

    MandraKobold Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    59
    Erhaltene Danke:
    2
    Registriert seit:
    18.11.2011
    Hallo,

    ich habe, abgeleitet von einem BaseAdapter, eine eigene ListView erstellt.
    Diese enthält drei Items (2x Bild, 1x Text). Die Anzahl der Items wird dynamisch ausgelesen.
    Die Schrift- und Hintergrundfarbe der Items konnte ohne Probleme geändert werden, nun soll
    aber das Item auch beim daraufklicken eine andere Farbe annehmen.
    Also versteht mich nicht falsch, die eine OnItemClickListener ist bereits vorhanden, aber der ist
    wohl nicht für das Änderen der Farbe zuständig oder ? :cool2:
    Wie und wo kann ich den dem sagen das die HightlightFarbe nicht weiterhin ingnoriert werden soll
    und mit welcher Propertie??
    Danke für Eure Antwort.

    LG
    Mandra
     
  2. swordi, 23.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hmm was genau willst du ?

    du sagst, du kannst schrift und hintergrundfarbe ändern. was geht dann nicht?

    in den onItemClickListener kommst du erst, wenn du wirklich drauf klickst, sprich auswählst.

    willst du da die farbe ändern?
     
  3. MandraKobold, 23.11.2011 #3
    MandraKobold

    MandraKobold Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    59
    Erhaltene Danke:
    2
    Registriert seit:
    18.11.2011
    Die Farbe soll sich dann ändern, wenn darauf geklick wird, sprich wenn das
    Item 'pressed' ist. In den Standard listen ist es ja so, wenn darauf geklickt
    wird, ist die Highlightfarbe des Items z.B. gelb.
    Der User soll dadurch erkennen, dass der Button betätigt wurde, unabhängig
    davon was danach passiert.

    Die Hintergrundfarbe der Liste wird durch
    PHP:
    rowLayout.setBackgroundColor(Color.rgb(bredbgreenbblue));
    gesetzt.
    Die Schriftfarbe setzte ich direkt auf die Textview. Die Farbe der Selection,
    müsste ebenfalls auf die Liste gesetzt werden oder? Aber dort gibt es die
    Propertie 'setSelectionColor' oder 'setHightlightColor' nicht.
     
  4. swordi, 23.11.2011 #4
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hat es einen grund dass du nicht mit selector arbeitest ?

    da kannst ja alles schön im xml festlegen.
     
  5. MandraKobold, 23.11.2011 #5
    MandraKobold

    MandraKobold Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    59
    Erhaltene Danke:
    2
    Registriert seit:
    18.11.2011
    die Farbe wird dynamisch ausgelesen.
    ist möglich die farbe dem selector dynamisch zuzuweisen ??
     
  6. swordi, 23.11.2011 #6
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    hmm hab ich noch nie gebraucht, aber ich vermute mal ja.
     
  7. MandraKobold, 23.11.2011 #7
    MandraKobold

    MandraKobold Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    59
    Erhaltene Danke:
    2
    Registriert seit:
    18.11.2011
    Der Selector selber hat keine ID daher müsste die Farbe aus einem color.xml zugewiesen werden , aber wie dann die Color ändern?
    Ist der Ansatz richtig oder bin ich auf dem Holzweg??

    LG
     
  8. MandraKobold, 23.11.2011 #8
    MandraKobold

    MandraKobold Threadstarter Android-Hilfe.de Mitglied

    Beiträge:
    59
    Erhaltene Danke:
    2
    Registriert seit:
    18.11.2011
    sorry für den doppel post

    habe es jetzt ähnlich wie hier beschrieben gelöst:

    » Android Selected State ListView Example Best Site in the Multiverse

    Da nach der selection ein wechsel der activity folgt, ist es so akzeptabel.
    Danke, an alle die sich gedanken gemacht haben.

    LG
     

Diese Seite empfehlen