RecyclerView,通过onClickListener传递多个视图以循环选项

时间:2018-04-09 11:53:24

标签: java android

我有以下内容让用户点击图像,它会使图像不可见:

holder.redView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        ManualPlayingChange.notToPlaying(view);
    }
});

public static void notToPlaying(View a) {
    if(a.isShown()) {
        a.setVisibility(View.INVISIBLE);
        // b.setVisibility(View.VISIBLE);
    }
}

我想要做的是通过另一个View,以便在同一次点击时不同的Ciew也会发生变化。

我的观点:

public ViewHolder(View p) {
    super(p);
    playerView = p.findViewById(R.id.aPlayerInTheList);
    greenView = p.findViewById(R.id.isPlaying);
    amberView = p.findViewById(R.id.mightBePlaying);
    redView = p.findViewById(R.id.notPlaying);
}

所以我只想循环播放3张图片。

1 个答案:

答案 0 :(得分:0)

您只需以holder方式而不是单ViewHolder方式传递notToPlaying()(即view)本身,然后访问所有视图,如:

public static void notToPlaying(ViewHolder holder){
    // now you can access all the views
    holder.playerView.setVisibility(View.VISIBLE);
    holder.redView.setVisibility(View.GONE); // and so on.
}