J'ai un spinner dans lequel quelques valeurs sont présentes à partir de strings.xml et je souhaite peupler que Spinner de manière dynamique de l'édition de texte à l'aide de l'événement ONCliquez sur le bouton, mais cela ne fonctionne pas et je reçois la force de près à chaque fois. Toute aide sera appréciée.
05-14 01:07:19.934: ERROR/AndroidRuntime(802): FATAL EXCEPTION: main 05-14 01:07:19.934: ERROR/AndroidRuntime(802): java.lang.UnsupportedOperationException 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at java.util.AbstractList.add(AbstractList.java:411) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at java.util.AbstractList.add(AbstractList.java:432) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.widget.ArrayAdapter.add(ArrayAdapter.java:178) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at com.example.expense.Expense3.addNewSpinnerItem(Expense3.java:50) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at com.example.expense.Expense3$1.onClick(Expense3.java:40) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.view.View.performClick(View.java:2408) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.view.View$PerformClick.run(View.java:8816) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.os.Handler.handleCallback(Handler.java:587) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.os.Handler.dispatchMessage(Handler.java:92) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.os.Looper.loop(Looper.java:123) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at android.app.ActivityThread.main(ActivityThread.java:4627) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at java.lang.reflect.Method.invokeNative(Native Method) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at java.lang.reflect.Method.invoke(Method.java:521) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 05-14 01:07:19.934: ERROR/AndroidRuntime(802): at dalvik.system.NativeStart.main(Native Method)
3 Réponses :
Le problème est que arrayadapter.createfromResource () code> utilise des tableaux
() code> qui renvoie une liste immuable, ce qui signifie que vous ne pouvez pas ajouter d'éléments à l'adaptateur. (C'est l'opération "non prise en charge"). Essayez de créer un adaptateur vide et d'ajouter simplement les éléments à ceux-ci:
adapter = new ArrayAdapter(this, android.R.layout.simple_spinner_item,
new ArrayList<CharSequence>());
Vous essayez d'ajouter un élément dans l'adaptateur créé à partir de ressources afin qu'il vous donnera des résultats maintenant Pour ajouter un élément dans l'adaptateur de la spinner, vous pouvez utiliser la méthode arranges.aslist () code> ou vous pouvez créer une boucle et ajouter des éléments individuels dans la liste et après avoir créé une liste, vous devez créer une carte à l'aide de cette liste.
Adapter.add () Code> pour ajouter un élément à l'intérieur de l'adaptateur Spinner.
Voici un exemple qui explique comment créer un adaptateur et ajouter un élément dans la spinner. P>
adapter.add("String to insert into spinner");
Ouais, qu'est-ce qu'ils ont dit.
Postez votre logcat pour montrer ce qui provoque la fermeture de la force.
@Mistersquonk J'ai modifié la question en ajoutant une erreur de logcat .!
Désolé, je ne peux pas résoudre ce que le problème est. Essayez peut-être de changer d'adaptateur sur ArrayAdapter et faites également du textholder dans la méthode addnewspinnerItem () une chaîne également.