Задать вопрос
@shnicel

Как сделать подстановку массива в ArrayAdapter?

Ребят совсем новичек,не могу понять одной вещи,я вызываю новую активити,передаю в нее данные
Category.putExtra("Name", catName);
Category.putExtra("Position", catPosition);


В открывшейся активити
String Name = getIntent().getStringExtra("Name");
String Position = getIntent().getStringExtra("Position");
должен выбираться массив который соответствует значению Name, но вот как это сделать не пойму

public class CategoryActivity extends AppCompatActivity {

    String[] Dubstep = { "Record Dubstep" };
    String[] Dance = { "Radio Record", "Record Megamix", "Record EDM", "Future House" };
    String[] Trance = { "Trancemission", "109 FM UKRAINE", "TranceONE" };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_category);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

//        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
//        fab.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
//                        .setAction("Action", null).show();
//            }
//        });
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);

//        Получаем данные от предыдующей активити
        String Name = getIntent().getStringExtra("Name");
        String Position = getIntent().getStringExtra("Position");

//        Устанавливаем имя выбранной категории
        setTitle(Name);

        ListView Stations = (ListView) findViewById(R.id.Stations);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, Вот здесь?);
        Stations.setAdapter(adapter);

    }

}
  • Вопрос задан
  • 134 просмотра
Подписаться 1 Оценить 6 комментариев
Решения вопроса 1
sergey-gornostaev
@sergey-gornostaev Куратор тега Java
Седой и строгий
Объедините три отдельных массива в один HashMap и выбирайте из него нужный список.

Map<String, List<String>> genres = new HashMap<>();
genres.put("Dubstep", new ArrayList<String>() {{
    add("Record Dubstep");
}});
genres.put("Dance", new ArrayList<String>() {{
    add("Radio Record");
    add("Record Megamix");
    add("Record EDM");
    add("Future House");
}});
genres.put("Trance", new ArrayList<String>() {{
    add("Trancemission");
    add("109 FM UKRAINE");
    add("TranceONE");
}});

String[] stations = genres.get(Name).toArray(new String[0]);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы