Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Cambiar el color de fuente de TextView cuando se selecciona el elemento ListView

Hay un TextView en cada elemento ListView que estoy configurando a través de adaptador personalizado. El XML de TextView no está en el mismo archivo donde se ha escrito un XML de ListView, quiero que cuando se seleccione cualquier elemento de ListView el color de fuente de ese elemento en particular debe cambiar. También lo intenté definiendo los diferentes estados de TextView, es decir, seleccionados, enfocados y presionados, pero esa dosis no soluciona mi problema. Por favor, sugerirme algunas soluciones para ello. Aquí hay un fragmento ..

Un listeview en un archivo xml por ejemplo. File1.xml

<ListView android:id="@+id/listView1" android:layout_width="0dp" android:layout_height="fill_parent" android:layout_weight="0.5" android:clickable="true" /> 

Y un TextView en diferentes xml .. es decir, archivo2.xml

 <TextView android:id="@+id/rowListTextView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingBottom="10dp" android:paddingLeft="10dp" android:paddingTop="10dp" android:text="@string/app_name" android:textColor="@color/file3" android:textSize="10sp" android:textStyle="bold" /> 

Archivo para el atributo de color de texto en la carpeta res / color ie file3.xml.

 <item android:state_selected="true" android:color="@android:color/white"/> <item android:state_focused="true" android:color="@android:color/white"/> <item android:state_pressed="true" android:color="@android:color/white"/> <item android:color="@android:color/black"/> 

3 Solutions collect form web for “Cambiar el color de fuente de TextView cuando se selecciona el elemento ListView”

A continuación, el fragmento le ayudará.

 listView.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView <? > adapterView, View rowView, int position, long id) { TextView textView = (TextView) rowView.findViewById(R.id.rowListTextView); textView.setTextColor("Desired Color"); } }); 

No he incluido escenario como retención de color de texto cuando se desplaza la lista y el elemento seleccionado sale de foco. Este fragmento le guiará en la dirección correcta.

Pruebe esta lista de estado de color para textColor.

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:color="#fff"/> <item android:state_activated="true" android:color="#fff"/> <item android:color="#000" /> </selector> 

La guía de Android no menciona el atributo state_activated pero funciona para mí.

En el selector:

  <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_activated="true" android:color="#ff0000" /> <item android:state_active="true" android:color="#ff0000" /> <item android:state_pressed="true" android:color="#ff0000" /> <item android:state_selected="true" android:color="#ff0000" /> <item android:state_focused="true" android:color="#ff0000" /> <item android:color="#000000" /> </selector> 

En actividad: myListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

 public void onItemClick(AdapterView<?> parent, View view, int position, long id) { pl=position; myListView.setItemChecked(pl, true); adapter.notifyDataSetChanged(); ..... 

Item.xml:

 <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/text1" android:layout_width="match_parent" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceListItemSmall" android:gravity="center_vertical" android:textColor="@drawable/selector" android:minHeight="?android:attr/listPreferredItemHeightSmall" /> 

Y mi artículo marcado en color rojo después de hacer clic en ellos. Sólo un elemento marcado. ¡Disfrutar!

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.