私はいくつかのドロップダウンスピンを持つアプリケーションを持っています。そのうちのいくつかは、別のスピナーによって選択されたオプションに基づいてオプションを変更したいものです。ArrayAdapter.clear()でサポートされていない操作の例外
product_adapter.clear();
CharSequence[] array=makeArray(urlMaker.getProductid());
for(int i=0;i<array.length;i++){
product_adapter.add(array[i]);
}
product_adapter.notifyDataSetChanged();
他のスピナーの内容の変更を指示することであるスピナー用onItemSelected()メソッドのケース内:これを行うに私の計画は入れていました。理論的には、2番目のスピナー(product_adapter)をクリアし、makeArray()(docで指定されたCharSequencesの配列を返す)によって作成された新しい配列をproduct_adapter.add(array [ i]).notifyDataSetChanged()を呼び出して形式化します。しかし、それは最初の行のアプリのクラッシュを打つと次のスタックトレースが得られます
E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.benhouse.weatherview, PID: 25791
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:638)
at java.util.AbstractList$SimpleListIterator.remove(AbstractList.java:75)
at java.util.AbstractList.removeRange(AbstractList.java:658)
at java.util.AbstractList.clear(AbstractList.java:466)
at android.widget.ArrayAdapter.clear(ArrayAdapter.java:273)
at com.example.benhouse.weatherview.MainActivity$3.onItemSelected(MainActivity.java:102)
at android.widget.AdapterView.fireOnSelected(AdapterView.java:924)
at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:913)
at android.widget.AdapterView.-wrap1(AdapterView.java)
at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:883)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
は、なぜ私はこのエラーを取得していますし、どのように私はそれを修正することができますか?
編集:これは私がintially私は変更しようとしているスピナーを投入しています方法です:
ArrayAdapter<CharSequence> T_spinnerAdapter = new ArrayAdapter(this, R.layout.support_simple_spinner_dropdown_item, makeArray("GFS"));
Time_spin.setAdapter(T_spinnerAdapter);
編集2:だから私は馬鹿のビットです。私はタイムスピナー(意図したスピナー)ではなく製品スピナーを変更しようとしていたし、製品スピナーはvalues.xmlの配列から初期化されていた。おそらくそれ自身の中で自分自身を変更するのは好きではないでしょう。間接的な助けをいただきありがとうございます。私のコードでは、私が思考と不道徳に導きます。
あなたの質問を編集し、 'ArrayAdapter'の入力方法を表示してください。 – CommonsWare