-2

The spinner has an array list of band genres when selecting any of the genres in the spinner it will display a toast, the toast isn't showing when clicking the spinner, the code isn't showing any errors ? any ideas why ?

    String spinnerSelection = null;
    Spinner spinner = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );



       ArrayAdapter<String> adapter = new ArrayAdapter<>(
                this, android.R.layout.simple_spinner_item, spinnerContent);
        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


        spinner = (Spinner) findViewById(R.id.spinner);
        spinner.setAdapter(adapter);



        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {



                                                                         public void onItemSelected(AdapterView<?>parent, View v, int position, long id) {
        {

            Toast.makeText( getBaseContext(),"Hell Yeah", Toast.LENGTH_SHORT).show();
        }
    }
    public void onNothingSelected(AdapterView<?> arg0) {
    }
}

3 Answers3

0

Don't forget to add click listener in the spinner

    spinner.setOnItemClickListener(this);
lal
  • 1,113
  • 1
  • 11
  • 17
0

You are adding setOnClickListener() on your button. Add setOnItemClickListener() to your spinner.

R.R.M
  • 780
  • 4
  • 10
  • the button leads to the other activity pages – red hot rocket sss Mar 22 '17 at 10:02
  • Ok then add spinner.setOnItemClickListener() – R.R.M Mar 22 '17 at 10:06
  • Yes. Below those two lines, add the following lines: spinner.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView> adapterView, View view, int i, long l) { Toast.makeText( getBaseContext(),"Show your Devil Horns !!", Toast.LENGTH_SHORT).show(); } }); – R.R.M Mar 22 '17 at 10:15
  • Yes delete it and if it is still not working, post the stack trace here. And write getApplicationContext() instead of getBasecontext() in Toast. – R.R.M Mar 22 '17 at 10:27
0

You need to put @Override for onItemSelected(...) and onNothingSelected(...) functions.

Make sure you set a listener on the spinner: spinner.setOnItemClickListener(this);

Edit

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
    MediaPlayer myMusic;
    int paused;


    public void play(View view) {
        if (myMusic == null) {
            myMusic = MediaPlayer.create( this, R.raw.fast_and_cold );
            myMusic.start();


        }
    }


    public void stop(View view) {
        myMusic.reset();
        myMusic = null;
    }



    String spinnerSelection = null;
    Spinner spinner = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate( savedInstanceState );
        setContentView( R.layout.activity_main );



        final List<String> spinnerContent = new ArrayList<>();
        spinnerContent.add("Black Metal");
        spinnerContent.add("Death Metal");
        spinnerContent.add("Thrash Metal");
        spinnerContent.add("Heavy Metal");



        ArrayAdapter<String> adapter = new ArrayAdapter<>(
            this, android.R.layout.simple_spinner_item, spinnerContent);

        adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);


        spinner = (Spinner) findViewById(R.id.spinner);
        spinner.setAdapter(adapter);
        spinner.setOnItemSelectedListener(this); // add this line



        Button button = (Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {





    }

    @Override // add this line
    public void onItemSelected(AdapterView<?>parent, View v, int position, long id) {


            Toast.makeText( getBaseContext(),"Show your Devil Horns !!", Toast.LENGTH_SHORT).show();

    }

    @Override // add this line
    public void onNothingSelected(AdapterView<?> arg0) {

    } 

}
Zarul Izham
  • 569
  • 5
  • 17