On one Activity there is 4 Spinner 'a. How to write one method for all of them, which will return the selected values?
The code is:
private void setSpinner(){ ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.the_number_day, android.R.layout.simple_spinner_item); adapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line); spinnerIntervalMount.setAdapter(adapter); spinnerIntervalMount.setOnItemSelectedListener(this); } @Override public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) { String[] tmp = getResources().getStringArray(R.array.the_number_day); } @Override public void onNothingSelected(AdapterView<?> adapterView) { } In fact, the code is the same for all Spinner , with the exception of the data array - R.array...
After googling, came to this decision, please rate this code:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Spinner spinner = (Spinner) findViewById(R.id.spinner); setSpinner(spinner, R.array.catlist); } private void setSpinner(Spinner spinner, final int resourse){ spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { public void onItemSelected(AdapterView<?> parent, View itemSelected, int selectedItemPosition, long selectedId) { String[] choose = getResources().getStringArray(resourse); Toast toast = Toast.makeText(getApplicationContext(), "Ваш выбор: " + choose[selectedItemPosition], Toast.LENGTH_SHORT); toast.show(); } public void onNothingSelected(AdapterView<?> parent) { } }); Confused that there is no adapter.