Информировать пользовательский интерфейс в окне воспроизведения - PullRequest
0 голосов
/ 04 марта 2020

У меня есть приложение, что некоторые предметы являются аудиоклипами. Когда я нажимаю на одну из них, воспроизводится аудиоклип. Однако я хочу показать что-то вроде анимации, чтобы показать, какой элемент воспроизводится в данный момент. Вот код.

private fun setUpAudioReceived(holder: ReceivedAudio, chatMessageItem: ChatMessageItem?) {
        chatMessageItem?.let { messageItem ->
            messageItem.firstName?.let {
                holder.rcvAudName.text = "${messageItem.firstName} ${messageItem.lastName}"
            }

            holder.rcvAudTime.text =
                getDateStringWithNoSeconds(messageItem.msgWithMsgq.message?.messageDate)


            //Here is the click listener that informs the interface
            // of the mainActivity to play the clip
            holder.itemView.setOnClickListener {
                itemRecyclerCallback.onRowClicked(holder.adapterPosition, messageItem, holder, true)
            }
        }
    }

Адаптер утилизатора имеет функцию обратного вызова, которая воспроизводит аудиоклип

override fun onRowClicked(pos: Int, messageItem: ChatMessageItem, view: RecyclerView.ViewHolder) {
                when (messageItem.message.msgType) {
                    MSG_TYPE_FILE -> {
                        audioPlay(Uri.parse(message.localUri))
                        // Update the current Item......
                    }
                }
            }

Так что здесь я должен уведомить указанный элемент c, чтобы сделать что-то в его интерфейсе.

К вашему сведению, я использую PagedListAdapter, который выбирает сообщения из базы данных Room через LiveData Observer, а затем отправляю List

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...