Android Studio FATAL EXCEPTION: main

178
25 сентября 2018, 04:30

Приложение вылетает при запуске.

`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){}
    });
}
Answer 1

Проблема в том, что Вы создаёте адаптер из массива либо неизменяемого списка - поэтому операции, изменяющие количество элементов не поддерживаются.
Нужно либо самому создать нормальный список и с ним создавать адаптер, либо создать пустой адаптер, а данные добавить потом

// первый вариант
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);
READ ALSO
jasperreports и термопринтер

jasperreports и термопринтер

За основу взял этот пример

194
Как реализовать UI как в Scratch

Как реализовать UI как в Scratch

Сегодня в Google Play наткнулся на интересную программу, конструктор, в котором были реализованы кубики (не знаю как они называются) как на картинке

174
Как сделать волнистую полоску на css?

Как сделать волнистую полоску на css?

Подскажите, как можно сделать вот такую полоску лесенкой с помощью css

213