Как сделать так, чтобы классы в android-studio использовали ту же корневую разметку, но с другим текстом, отображаемым в TextViews - PullRequest
0 голосов
/ 25 марта 2019

Я новичок, и это мое первое приложение.Я делаю приложение, которое будет отображать текстовое представление пользователя в mainActivity.xml, например, Music, затем пользователь может щелкнуть текстовое представление «музыка» (через намерение), и оно перейдет к другой деятельности, где отображаются несколько другихтекстовые просмотры.ех.Rap, Pop, Rock, Punk ... можно щелкнуть каждое из этих представлений (с намерением), и снова это приводит к другому действию, где отображаются различные поджанры, скажем, Rock, и пользователь может щелкнуть по одному изих, а затем он показывает некоторые текстовые представления с названиями песен этого жанра и, если щелкнуть по ним, окончательное намерение приводит пользователя к приложению Youtube.«Проблема» в том, что мне нужно создать новый класс и новое действие для каждого жанра, создать текстовое представление с идентификатором в формате XML, определить намерение в классе с помощью setOnClickListener и перейти к другому действию.Если я делаю это для каждого жанра, мне может понадобиться более 200+ классов и макетов для всего приложения.Есть ли способ сделать один корневой макет XML, и просто в каждом классе использовать этот макет, но с разным текстом в текстовых представлениях.Также я могу как-то уменьшить количество классов, необходимых для этого?

Я пытался с помощью ArrayList <> добавить текст в текстовые представления, но я не могу найти идентификатор, чтобы я мог вызвать намерение.

1 Ответ

0 голосов
/ 25 марта 2019

Вы можете отправить данные через намерение, а затем установить эти данные в текстовое поле

В вашем отправителе Активность

Intent myIntent = new Intent(this, GenreClass.class);
myIntent.putExtra("genre","rock");
startActivity(myIntent);

В приемнике Активность

 Intent myIntent = getIntent(); 
 String genre = myIntent.getStringExtra("genre");
 myTextView.setText(genre)
...