I have searched for this over the internet and haven't found appropriate answers. I am loading a spinner drop down menu on my toolbar which contains items that open different activities after being selected. So far I have been able to create a toast which returns the name of the selected item. But I would like to open different activities for each item on the menu. I know this might be a duplicate somewhere but their answers haven't worked for mine yet. This is my spinner:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:elevation="2dp"
android:background="@color/primaryColor"
android:theme="@style/ThemeOverlay.AppCompat.Dark">
<Spinner
android:id="@+id/spinner_nav"
android:layout_width="wrap_content"
android:gravity="bottom"
android:layout_height="wrap_content"></Spinner>
</android.support.v7.widget.Toolbar>
And this is my MainActivity.java
public class MainActivity extends ActionBarActivity {
private Toolbar toolbar;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
toolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(toolbar);
final Spinner spinner_navs = (Spinner) findViewById(R.id.spinner_nav);
SpinnerAdapter mSpinner = ArrayAdapter.createFromResource
(this, R.array.action_bar_spinner, android.R.layout.simple_spinner_dropdown_item);
spinner_navs.setAdapter(mSpinner);
spinner_navs.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String item = parent.getItemAtPosition(position).toString();
Toast.makeText(parent.getContext(), item, Toast.LENGTH_LONG).show();
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
});
}
I know I am a newbie, but any help on this I would appreciate it. Thanks in advance.
Use this
spinner_nav.setOnItemSelectedListener(new OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapter, View v,
int position, long id) {
// On selecting a spinner item
if(position==0){
// open activity 1
}else if(position==1){
// open activity 2
}
else if(position==2){
// open activity 3
}
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
});