En primer lugar, vamos a definir los mensajes de plural en el archivo strings.xml, ubicado en la carpeta res/values/. Este archivo, contiene los recursos de texto utilizados en la aplicación.

En este caso como ejemplo, vamos a mostrar un texto diferente según el número de mensajes que tengamos.
En el texto plural item quantity=»other» para añadir el número, se usa %d, indicando que ese valor del texto va a ser sustituido por un número entero.
En los recursos plurales de Android, además de %d, hay otros marcadores de posición que se pueden utilizar para dar formato a las cadenas de texto basadas en la cantidad de elementos. Algunos de estos marcadores son:
%d: Se utiliza para representar valores enteros.%f: Representa valores de punto flotante (números decimales).%s: Representa cadenas de texto.%c: Se usa para caracteres individuales.%bo%B: Representa valores booleanos.%x: Muestra números en formato hexadecimal.%o: Muestra números en formato octal.
<resources>
<string name="app_name">MiApp</string>
<!-- Establecemos los texto para el plural de los mensajes-->
<plurals name="mensajedevcodelight">
<item quantity="one">Tienes un mensaje</item>
<item quantity="other">Tienes %d mensajes</item>
</plurals>
</resources>
En el diseño XML (activity_main.xml), creamos la interfaz de usuario, en este caso, simplemente creamos un TextView dónde se mostrará el texto con el número de mensajes como a continuación podemos observar.
<?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 para mostrar el mensaje de los mensajes no leídos -->
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="18sp"
android:layout_centerInParent="true" />
</RelativeLayout>
En el código de la actividad (MainActivity.java, por ejemplo), obtenemos la cantidad de mensajes no leídos y actualizamos el texto del TextView
import android.os.Bundle;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Obtén la cantidad de mensajes (aquí se simula un valor)
int numMessages = 5;
// Accede al recurso plural desde el código
String messagesString = getResources().getQuantityString(R.plurals.mensajedevcodelight, numMessages, numMessages);
// Muestra el texto en un TextView
TextView textView = findViewById(R.id.textView);
textView.setText(messagesString);
}
}
Por último muestro el resultado del ejemplo anterior.


Espero que les sirva de ayuda. ¡Que tengan un feliz día!

