J'ai un ListView
personnalisé que chaque rangée de la liste est composée par ImageView
et deux TextView
. Je veux changer la couleur du texte en blanc quand l'article d'une liste est cliqué (seulement dans l'article cliqué). Aussi, je veux changer la couleur au noir quand l'article est "décoché" (quand le "presse" est libéré). Je l'ai déjà fait la couleur de fond de l'élément de changement quand il a été cliqué avec le list_item_bg.xml
suivant:Changer la couleur du texte de ListView sur le clic
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="false"
android:state_pressed="false"
android:drawable="@color/white" />
<item android:state_pressed="true"
android:drawable="@color/red_destaques" />
<item android:state_selected="true"
android:drawable="@color/red_destaques" />
</selector>
Et le listitem_row.xml
:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="fill_parent"
android:layout_height="50dip"
xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="5dip"
android:maxHeight="50dip"
android:adjustViewBounds="true"
android:background="@color/list_item_bg">
<ImageView
android:layout_width="70dip"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:src="@drawable/imagem_padrao_lista"
android:id="@+id/listItemLogo">
</ImageView>
<TextView
android:textAppearance="?android:attr/textAppearanceLarge"
android:layout_height="wrap_content"
android:text="TextView"
android:layout_width="wrap_content"
android:layout_toRightOf="@+id/listItemLogo"
android:layout_toLeftOf="@+id/listItemArrow"
android:textColor="#000000"
android:layout_marginLeft="5dip"
android:adjustViewBounds="true"
android:id="@+id/listItemTitle">
</TextView>
<TextView
android:layout_height="wrap_content"
android:text="TextView"
android:layout_width="wrap_content"
android:layout_toRightOf="@+id/listItemLogo"
android:layout_below="@+id/listItemTitle"
android:textColor="#333333"
android:layout_marginLeft="5dip"
android:adjustViewBounds="true"
android:id="@+id/listItemDescription">
</TextView>
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentRight="true" android:src="@drawable/setinha_navegacao" android:layout_centerVertical="true" android:id="@+id/listItemArrow"></ImageView>
</RelativeLayout>
I le texte pour changer sa couleur exactement de la même manière que l'arrière-plan changements comme indiqué dans les xml ci-dessus. Je préfèrerais faire ce changement par code si possible ...
ne fonctionne pas = /. Je reçois juste un ANR quand l'application est sur le point de charger le 'ListView'. J'ai même essayé de définir la couleur du texte comme 'android: textColor =" @ color/list_item_bg "', car ce xml fonctionne bien, et j'ai quand même le message d'erreur =/ – Alesqui
Essayez celui-ci. J'ai ajouté un cas pour concentré. –
Maintenant ça marche parfaitement mec! Merci beaucoup! Je pensais que cela changerait seulement la couleur quand le 'TextView' serait touché, mais il a changé quand n'importe quel endroit de la rangée a été pressé (exactement comme je m'attendais). Connaissez-vous un lien qui décrit mieux la façon dont le '' se comporte? Je n'ai trouvé que des explications superficielles ... –
Alesqui