如何访问回收者视图的孩子?

时间:2016-06-24 11:32:50

标签: android android-recyclerview adapter

在我正在创建的聊天应用中,有多个音频。我需要以下案例中的子视图:

1)猜猜你正在播放一个音频。(播放按钮将变为暂停)现在你正在播放第二个音频。(对于第一个音频暂停按钮应该改为播放,对于第二个音频播放按钮将改为暂停)

当用户按下第二个音频播放按钮时,如何访问第一个视图按钮。

谢谢你提前!!

ChatActivity.java

ChatAdapter.java

2 个答案:

答案 0 :(得分: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        
     }
   }
   });

该代码当然不会运行。你应该根据自己的需要进行调整。尝试在CustomClickListener界面中将位置更改为 ViewHolder

答案 1 :(得分:0)

我只是得到了自己的答案。我发布以供将来参考。

imageView作为ivLastClicked保存在一个变量中,然后再次点击新按钮,在更改背景之前将其分配到ivLastClicked并将点击保存到ivLastClicked变量。