Приложение вылетает при запуске.
`07-24 14:12:25.557 21315-21315/com.example.msi.myapplication E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.msi.myapplication, PID: 21315
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:161)
at java.util.AbstractList$Itr.remove(AbstractList.java:374)
at java.util.AbstractList.removeRange(AbstractList.java:571)
at java.util.AbstractList.clear(AbstractList.java:234)
at android.widget.ArrayAdapter.clear(ArrayAdapter.java:328)
at com.example.msi.myapplication.MainActivity$3.onItemSelected(MainActivity.java:107)
at android.widget.AdapterView.fireOnSelected(AdapterView.java:944)
at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:933)
at android.widget.AdapterView.access$300(AdapterView.java:53)
at android.widget.AdapterView$SelectionNotifier.run(AdapterView.java:898)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:193)
at android.app.ActivityThread.main(ActivityThread.java:6669)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)`
Фрагмент кода:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, active);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner1 = (Spinner) findViewById(R.id.spinner);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
val1 = activeVals[position];
}
@Override
public void onNothingSelected(AdapterView<?> adapterView){
}
});
Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
spinner2.setAdapter(adapter);
spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
val2 = activeVals[position];
}
@Override
public void onNothingSelected(AdapterView<?> adapterView){}
});
Spinner spin = (Spinner)findViewById(R.id.spinner4);
TitleSpinner customAdapter = new TitleSpinner(getApplicationContext(),titleIcons,titles);
spin.setAdapter(customAdapter);
spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long id) {
activeVals = accordanceVals[position];
adapter.clear();
adapter.addAll(accordance[position]);
adapter.notifyDataSetChanged();
}
@Override
public void onNothingSelected(AdapterView<?> adapterView){}
});
}
Проблема в том, что Вы создаёте адаптер из массива либо неизменяемого списка - поэтому операции, изменяющие количество элементов не поддерживаются.
Нужно либо самому создать нормальный список и с ним создавать адаптер, либо создать пустой адаптер, а данные добавить потом
// первый вариант
ArrayList<String> list = new ArrayList<String>(Arrays.asList(stringArray));
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
// второй вариант
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
adapter.addAll(stringArray);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сегодня в Google Play наткнулся на интересную программу, конструктор, в котором были реализованы кубики (не знаю как они называются) как на картинке
Подскажите, как можно сделать вот такую полоску лесенкой с помощью css