J’essaie juste d’afficher une liste à partir d’un tableau que j’ai dans mon arrays.xml
. Lorsque j’essaie de l’exécuter dans l’émulateur, j’obtiens un message de fermeture forcée.
Si je définis le tableau dans le fichier java
Ssortingng[] testArray = new Ssortingng[] {"one","two","three","etc"};
ça marche, mais quand j’utilise
Ssortingng[] testArray = getResources().getSsortingngArray(R.array.testArray);
ça ne marche pas.
Voici mon fichier Java:
package com.xtensivearts.episode.seven; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; public class Episode7 extends ListActivity { Ssortingng[] testArray = getResources().getSsortingngArray(R.array.testArray); /** Called when the activity is first created. */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create an ArrayAdapter that will contain all list items ArrayAdapter adapter; /* Assign the name array to that adapter and also choose a simple layout for the list items */ adapter = new ArrayAdapter( this, android.R.layout.simple_list_item_1, testArray); // Assign the adapter to this ListActivity setListAdapter(adapter); } }
Voici mon fichier arrays.xml
first second third fourth fifth
Vous ne pouvez pas initialiser votre champ testArray
de cette façon, car les ressources de l’application ne sont toujours pas prêtes.
Changez simplement le code pour:
package com.xtensivearts.episode.seven; import android.app.ListActivity; import android.os.Bundle; import android.widget.ArrayAdapter; public class Episode7 extends ListActivity { Ssortingng[] mTestArray; /** Called when the activity is first created. */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Create an ArrayAdapter that will contain all list items ArrayAdapter adapter; mTestArray = getResources().getSsortingngArray(R.array.testArray); /* Assign the name array to that adapter and also choose a simple layout for the list items */ adapter = new ArrayAdapter ( this, android.R.layout.simple_list_item_1, mTestArray); // Assign the adapter to this ListActivity setListAdapter(adapter); } }
Votre tableau.xml n’est pas correct. changer pour aimer ça
Voici le fichier array.xml
- first
- second
- third
- fourth
- fifth
Votre XML n’est pas tout à fait clair, mais les tableaux XML peuvent provoquer la fermeture de la force si vous en faites des nombres et / ou placez des espaces blancs dans leur définition.
Assurez-vous qu’ils sont définis comme No Leading ou Trailing Whitespace