Почему не работает заполнение View элементов при вызове метода из другого класса?
В моём приложении нужно по нажатию на объект списка активировать активити, поля в котором будут заполнены исходя переданного в него объекта. Активировать экран получается, но вызов функции, которую я использую для заполнения и вызываю прямо за ним ничего не даёт - экран появляется в стандартном варианте. Вот вызовы активити и функции для его заполнения:
override fun getTrackAndStart(track: Track) {
val displayIntent = Intent(this@SearchActivity, PlayerActivity::class.java)
startActivity(displayIntent)
PlayerActivity().bind(track)
}
}
class PlayerActivity : AppCompatActivity() {
private lateinit var titleName: TextView
private lateinit var artistName: TextView
private lateinit var playerImg: ImageView
private lateinit var trackLength: TextView
private lateinit var trackAlbum: TextView
private lateinit var trackYear: TextView
private lateinit var trackStyle: TextView
private lateinit var trackCountry: TextView
private lateinit var staticTrackAlbum: TextView
private val radius: Float by lazy {
8 * this.resources.displayMetrics.density
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_player)
titleName = findViewById(R.id.player_title_name)
artistName = findViewById(R.id.player_artist_name)
playerImg = findViewById(R.id.player_img)
trackLength = findViewById(R.id.player_length_empty)
trackAlbum = findViewById(R.id.player_album_empty)
trackYear = findViewById(R.id.player_year_empty)
trackStyle = findViewById(R.id.player_style_empty)
trackCountry = findViewById(R.id.player_country_empty)
val backButton = findViewById<Button>(R.id.player_back)
backButton.setOnClickListener {
finish()
}
}
fun bind(track: Track){
titleName.text = track.trackNameItem
artistName.text = track.artistNameItem
Glide.with(this)
.load(track.trackAvatarItem.replaceAfterLast('/',"512x512bb.jpg"))
.centerCrop()
.transform(RoundedCorners(radius.toInt()))
.placeholder(R.drawable.empty_av)
.into(playerImg)
trackLength.text = SimpleDateFormat("mm:ss", Locale.getDefault()).format(track.trackTimeItem)
if(track.collectionName.isEmpty()){
trackAlbum.visibility = View.GONE
staticTrackAlbum.visibility = View.GONE
}
else{
trackAlbum.visibility = View.VISIBLE
staticTrackAlbum.visibility = View.VISIBLE
trackAlbum.text = track.collectionName
}
trackYear.text = track.rYear
trackStyle.text = track.genre
trackCountry.text = track.country
}
}
Какой может быть решение в данной ситуации? Буду благодарен любому предположению.