2016-06-24 5 views
0

В приложении чата, которое я создаю, есть несколько аудио. Мне нужен childview в следующем случае:Как получить доступ к ребенку просмотра recycler?

1) Угадайте, что вы играете один звук. (Кнопка воспроизведения изменится на Пауза). Теперь во время воспроизведения вы воспроизводите второй звук. (Для первой звуковой кнопки паузы необходимо перейти в режим воспроизведения и для вторая кнопка воспроизведения звука изменится на Пауза)

Итак, как получить доступ к первой кнопке просмотра, когда пользователь нажимает вторую кнопку воспроизведения звука.

Спасибо заранее!

ChatActivity.java

ChatAdapter.java

+0

Вы должны поставить индикатор для воспроизводимого представления, например setPlayingView (int position), и когда вы измените игру до того, как вы установите новое воспроизведение, получите текущее воспроизведение и измените его, затем получите новый и т. Д. , обязательно вызовите notifyDataSetChanged() – tamtom

+0

Im, имеющий позицию при воспроизведении звука. Теперь, когда воспроизводится следующий звук. Как получить доступ к старому представлению из адаптера? – DwlRathod

+0

вот пример вашего сценария, позволяет сказать, что у вас есть 4 вида позволяет создавать сеттер и геттер для текущего воспроизведения. позволяет воспроизводить первый элемент, когда вы нажимаете кнопку «играть», если в игроком есть элемент воспроизведения, если он перейдет к элементу этой позиции и изменить его и вызвать notifydata set change, затем установить новую позицию и изменить ее и снова вызвать метод – tamtom

ответ

0

Я только что получил ответ самостоятельно. Я отправляю для дальнейшего использования.

Сохранение последней imageView в ivLastClicked одной переменной, а затем, когда новая кнопка щелкнул снова назначить его ivLastClicked до этого изменения фона и сохранить нажал на ivLastClicked переменной.

1

Если список не изменится, вы можете получить доступ к нему с помощью CustomClickListener для RecyclerView.

Создайте переменную, удерживающую текущую позицию воспроизведения. Затем в вашем реализованном CustomItemClickListener проверьте, есть ли воспроизводимая композиция. Если там, перейдите в паузу. Если вы не просто играете песню. Здесь находится фрагмент:

private int mPlayedSongItemId = 0; // no played song 
private Adapter mAdapter; 
... 
... 
mAdapter = new YourAdapter(getActivity(), data, new CustomItemClickListener() { 
    @Override 
    public void onItemClick(View v, int position) { 
    if(mPlayedSongItemId != 0) { 
    // change old play button to play 
    // change current play button to pause   
    } 
    } 
    }); 

Этот код не будет работать, конечно. Вы должны адаптировать его к вашим потребностям. Попробуйте изменить позиция на ViewHolder в интерфейсе CustomClickListener.

Смежные вопросы