 <p>Try having your <code>Activity</code> implement <code>AdapterView.OnItemSelectedListener</code> itself. Notice I've moved the <code>Spinners</code> and left out some of your code and replaced it with comments - make sure you include it where necessary...</p> <pre><code>public class ManageAccountActivity extends Activity implements AdapterView.OnItemSelectedListener { // Your ArrayAdapters as before Spinner spinSexe = null; Spinner spinProvince = null; Spinner spinCountry = null; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.account_management); spinSexe = (Spinner) findViewById(R.id.spin_sex); spinProvince = (Spinner) findViewById(R.id.spin_province); spinCountry = (Spinner) findViewById(R.id.spin_country); // Call setDropDownViewResource on your ArrayAdapters // Call setAdapter on your Spinners spinCountry.setOnItemSelectedListener(this); } public void onItemSelected(AdapterView&lt;?&gt; parent, View view, int pos, long id) { if (parent.getItemAtPosition(pos).toString().equals("Canada")) { spinProvince.setAdapter(adapterProvince); } else { spinProvince.setAdapter(adapterStates); } } public void onNothingSelected(AdapterView parent) { } } </code></pre>