Search code examples
javaandroidandroid-spinner

how do I link a button to a spinner?


I am trying to make an app in which there will be a spinner with several values. A button will print that value in a text holder.

But, as you can see in the code bellow, the program cannot resolve the symbols "Teste1" and "Teste2".

Spinner merendas;

    String[] morfes = {"Teste1","Teste2"};

    ArrayAdapter <String> adapter;

    merendas = (Spinner)findViewById(R.id.merendas);
    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,morfes);

    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
    ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
            this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
    drawer.addDrawerListener(toggle);
    toggle.syncState();

    NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
    navigationView.setNavigationItemSelectedListener(this);

    merendas.setAdapter(adapter);

    merendas.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> adapterView, View view, int position, long morfes) {
                switch (position){
                    case 0:
                        morfes = Teste1;
                        break;

                    case 1:
                        morfes = Teste2;
                        break;
                }
        }

        @Override
        public void onNothingSelected(AdapterView<?> adapterView) {

        }
    });
}

Thanks for your time.


Solution

  • A button will print that value in a text holder.

    If you want to print which spinner item is selected , You don't need setOnItemSelectedListener() for your spinner.

    You can simply use

    String selected = spinner.getSelectedItem().toString();
    yourtextview.setText(selected);