2017-10-25 1 views
0

Zum Beispiel habe ich Custom Adapter Listenansicht, und meine Liste Element ist ein Layout, das verschiedene Elemente enthält: Textansicht, ImageView und so weiter. Wie kann ich die Farbe der Bildansicht des ausgewählten Listenelements einstellen? Angenommen, ich möchte diesen Gegenstand als Favorit hinzufügen und möchte die Farbe des Sternfavoriten für die gelbe Farbe ändern. Danke)Legen Sie die Farbe eines bestimmten Elements auf Artikel in benutzerdefinierten Adapter

 list.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { 
      @Override 
      public boolean onItemLongClick(AdapterView<?> parent, View view, 
              int position, long id) { 

       Toast.makeText(getActivity(), PlaceName[position] + " in favourite", 
Toast.LENGTH_SHORT).show(); 
//Do smth here, set the color of element on item, add to favourite and something else 
       return true; 
      } 
     }); 

Antwort

0

Nun, diese Zeile haben:

public boolean onItemLongClick(AdapterView<?> parent, View view, 
              int position, long id) { 

https://developer.android.com/reference/android/widget/AdapterView.OnItemLongClickListener.html

Nach den docs, view ist das Layout, die Sie tatsächlich angeklickt, so dass Sie das Kind bekommen dass View mit so etwas wie folgt aus:

ImageView favorite = view.findViewById(R.id.yourFavoriteImageView); 

Wenn Sie durch die Liste blättern, wird das Layout möglicherweise erneut gerendert und Ihre Änderung wird nicht wieder angezeigt.

0

view.setBackgroundColor (Color.parseColor ("# 222222"));

+0

In diesem Fall ändern Sie die Hintergrundfarbe für den gesamten Artikel, aber ich muss die Farbe nur für ein Element des Listenelements ändern –

Verwandte Themen