title: Android Dynamic Spinner Update
body: <p>I'm working with Android and Spinners and I need some help. I have a class that creates two spinners and a button. The first spinner is for my category, my second is for my sub-category. What I am trying to do is dynamically update the second spinner (spinner2). I've been trying to use adapter2.clear() but that crashes android, with an error "unable to start activity componentinfo unsupported operation"</p>
  
  <p>Here is my code:</p>
  
  <pre><code>public class MyClass extends MyBaseClass
  {
      int category;
      int sub_category;
      ArrayAdapter&lt;String&gt; adapter2;
  
  
      /** Called when the activity is first created. */
      @Override
      public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.quizes);
  
          //CATEGORY INFO
          final String[] items1 = new String[] {"One", "Two", "Three"};
          final Spinner spinner1 = (Spinner) findViewById(R.id.spinner1);
          ArrayAdapter&lt;String&gt; adapter1 = new ArrayAdapter&lt;String&gt;(this,
                      android.R.layout.simple_spinner_item, items1);
          adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          spinner1.setAdapter(adapter1);
  
          //SUBCATEGORY INFO
          final String[] items2 = new String[] {"SOne", "STwo", "SThree"};
          final Spinner spinner2 = (Spinner) findViewById(R.id.spinner2);
          adapter2 = new ArrayAdapter&lt;String&gt;(this,
                      android.R.layout.simple_spinner_item, items2);
          adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          spinner2.setAdapter(adapter2);
  
  
          // Capture our button from layout
          Button button = (Button)findViewById(R.id.button1);
          // Register the onClick listener with the implementation above
          button.setOnClickListener(new OnClickListener() {
              public void onClick(View v) {
                  // do something when the button is clicked
  
  
  
                  startActivity(new Intent(MyClass.this, GoToOtherClass.class));
                } 
          });
  
  
          //SELECTOR CONTROL FOR SPINNER1 {CATEGORY}
          spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {
              @Override
              public void onItemSelected(AdapterView&lt;?&gt; arg0, View arg1, int arg2, long arg3) {
                  MyClass.this.category = spinner1.getSelectedItemPosition();
  
          //OTHER STUFF
  
  
              }
              @Override
              public void onNothingSelected(AdapterView&lt;?&gt; arg0) {
              }
          });
  
          //SELECTOR CONTROL FOR SPINNER2 {SUB-CATEGORY}
          spinner2.setOnItemSelectedListener(new OnItemSelectedListener() {
              @Override
              public void onItemSelected(AdapterView&lt;?&gt; arg0, View arg1, int arg2, long arg3) {
  
                  MyClass.this.sub_category = spinner2.getSelectedItemPosition();
  
          //OTHER STUFF
  
              }
              @Override
              public void onNothingSelected(AdapterView&lt;?&gt; arg0) {
              }
          });
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          super.onCreateOptionsMenu(menu);
          return true;
      }
  }
  </code></pre>
  
  <p>I understand about the .clear()/.add() methods, but anytime I try clear()/add() my program crashes, what do I need to do to fix things so I can change the spinner2 contents for my sub-category list? Any advice would help, as I have spent hours doing things such as:</p>
  
  <p>Object t=adapter2.getitem(0);
  spinner2.remove((String) t);</p>
  
  <p>or adapter2.clear() and a few other tricks and I have no further ideas left. I am still learning android. I've tried looking at some other posts here on stackoverflow and google but was not sure how to get their ideas working.</p>