Color de texto de RecyclerView TextView cambiado
Haciendo alguna aplicación de fútbol, tengo pocas Activities
, Fragments
y RecyclerViews
, pero sólo en este caso el color de mi texto cambiado:
El fragmento muestra correctamente el logotipo y el nombre.
Pero en RecyclerView
, apenas se puede ver el nombre de los jugadores porque es tan blanco, y otros 3 textos pequeños también son difíciles de leer. Se ve como el texto cambiado su color para adaptarse a algún tema negro, mientras que a través de mi aplicación es todo por defecto Theme.AppCompat.Light.DarkActionBar
Al editar todo se ve bien:
Y el código de un titular de vista también se ve bien:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceMedium" android:textStyle="bold" android:text="12: Tyler Blackett" android:id="@+id/txt_players_name" android:layout_marginLeft="12dp" android:layout_marginStart="12dp" android:layout_marginTop="8dp"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="Small Text" android:id="@+id/txt_players_position" android:layout_below="@+id/txt_players_name" android:layout_alignLeft="@+id/txt_players_name" android:layout_alignStart="@+id/txt_players_name" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="Small Text" android:id="@+id/txt_players_nationality" android:layout_below="@+id/txt_players_position" android:layout_alignLeft="@+id/txt_players_position" android:layout_alignStart="@+id/txt_players_position" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceSmall" android:text="Small Text" android:id="@+id/txt_players_value" android:layout_below="@+id/txt_players_nationality" android:layout_alignLeft="@+id/txt_players_nationality" android:layout_alignStart="@+id/txt_players_nationality" /> </RelativeLayout>
EDIT: Algún código del adaptador. Estoy utilizando este adaptador varias veces (caso 0,1,2) y sólo en este caso está cambiando el color del texto:
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view; RecyclerView.ViewHolder viewHolder = null; switch(viewType){ case 0: view = inflater.inflate(R.layout.row_teams, parent, false); viewHolder = new ViewHolder0(view); break; //working fine case 1: {...} //working fine case 2: {...} //working fine case 3: view = inflater.inflate(R.layout.row_players, parent, false); viewHolder = new ViewHolder3(view); } return viewHolder; }
En onBind solo llamo .setText a TextView, nada inusual allí. Clase de soporte:
public class ViewHolder3 extends RecyclerView.ViewHolder { TextView mPlayerName; TextView mPosition; TextView mNationality; TextView mValue; public ViewHolder3(View itemView) { super(itemView); mPlayerName = (TextView) itemView.findViewById(R.id.txt_players_name); mPosition = (TextView) itemView.findViewById(R.id.txt_players_position); mNationality = (TextView) itemView.findViewById(R.id.txt_players_nationality); mValue = (TextView) itemView.findViewById(R.id.txt_players_value); }
Acabo de tener el mismo problema, y fue porque estaba usando en el RecyclerView
un LayoutInflater
creado con el Context
de la Application
, en lugar de la Activity
actual.
Después de cambiarlo para crear desde la Activity
, los colores de RecyclerView
volvieron a negro.
Simplemente establezca el atributo android:textColor
para su TextView
en su diseño XML. Esto le permitirá cambiar el color del texto según sea necesario.