Как сократить код на java?
Как убрать онотипный код подставлять только переменные ?
public class MainActivity extends AppCompatActivity {
private String[] facultets = {"Строительный", "УПП"};
private String[] kurs = {"1", "2", "3", "4", "5"};
private String[] groups = {"СВ-31", "СА-31", "СП-31"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Меню 1
ArrayAdapter<String> facultetsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, facultets);
facultetsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner sp_facultets = (Spinner) findViewById(R.id.sp_facultets);
sp_facultets.setAdapter(facultetsAdapter);
// Меню 2
ArrayAdapter<String> kursAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, kurs);
kursAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner sp_kurs = (Spinner) findViewById(R.id.sp_kurs);
sp_kurs.setAdapter(kursAdapter);
// Меню 3
ArrayAdapter<String> groupsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, groups);
groupsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner sp_groups = (Spinner) findViewById(R.id.sp_groups);
sp_groups.setAdapter(groupsAdapter);
}
Ответы (1 шт):
Автор решения: Barmaley
→ Ссылка
private Spinner defineSpinner(String[] array, int spinnerResource) {
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, array);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
Spinner spinner = (Spinner) findViewById(spinnerResource);
spinner.setAdapter(adapter);
return spinner;
}
Вызов:
sp_facultets = this.defineSpinner(facultets, R.id.sp_facultets);
sp_kurs = this.defineSpinner(kurs, R.id.sp_kurs);
sp_groups = this.defineSpinner(groups, R.id.sp_groups);