Tableaux de chaînes dans le fichier "strings.xml"
Cet exemple montre comment regrouper les chaînes de caractères du fichier "strings.xml" à l'intérieur de tableaux et en récupérer le contenu depuis le code Java de l'activité.
MainActivity.java
package net.codeandroid.tableauchaines; import androidx.appcompat.app.AppCompatActivity; import android.content.res.Resources; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { int indexHobbits = 0; int indexMagiciens = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Resources res = getResources(); String[] hobbits = res.getStringArray(R.array.hobbits); int nbHobbits = hobbits.length; String[] magiciens = res.getStringArray(R.array.magiciens); int nbMagiciens = magiciens.length; TextView tv_hobbit = findViewById(R.id.tv_hobbit); TextView tv_magicien = findViewById(R.id.tv_magicien); Button btnHobbit = findViewById(R.id.btn_hobbit); btnHobbit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv_hobbit.setText(hobbits[indexHobbits]); indexHobbits = (indexHobbits + 1) % nbHobbits; } }); Button btnMagicien = findViewById(R.id.btn_magicien); btnMagicien.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { tv_magicien.setText(magiciens[indexMagiciens]); indexMagiciens = (indexMagiciens + 1) % nbMagiciens; } }); } }
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="10dp" android:padding="10dp" android:textSize="20sp" android:text="Choisissez votre hobbit"/> <TextView android:id="@+id/tv_hobbit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="10dp" android:padding="10dp" android:textSize="50sp" android:textColor="#0f0"/> <Button android:id="@+id/btn_hobbit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Renouveler" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="10dp" android:padding="10dp" android:textSize="20sp" android:text="Choisissez votre magicien"/> <TextView android:id="@+id/tv_magicien" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:layout_margin="10dp" android:padding="10dp" android:textSize="50sp" android:textColor="#f00"/> <Button android:id="@+id/btn_magicien" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="Renouveler" /> </LinearLayout>
strings.xml
<resources> <string name="app_name">Exemple de tableau de chaînes</string> <string-array name="hobbits"> <item>Bilbon</item> <item>Frodon</item> <item>Meriadoc</item> <item>Peregrin</item> <item>Sam</item> </string-array> <string-array name="magiciens"> <item>Alatar</item> <item>Gandalf</item> <item>Pallando</item> <item>Radagast</item> <item>Saroumane</item> </string-array> </resources>