![enter image description here](https://i.stack.imgur.com/qBEOF.png)
我创建了类似 YouTube 的应用程序,其中包含一个视频视图(顶部)和回收器视图(视频视图下方)。我陷入困境,我想在 recyclerview 项目上创建 onclicklistner 并更改视频路径来更改视频,但是如何访问适配器类中的 videoview 组件(在 mainactivity 中创建)来设置 videoview 的路径?
定义项目点击事件的接口:
interface OnAdapterItemClickListener {
void onAdapterItemClickListener(int position);
}
让您的 Activity 实现并重写其方法:
public class MaiActivity extends AppCompatActivity implements OnAdapterItemClickListener {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
RecyclerView recyclerView = findViewById(R.id.recyclerView);
recyclerView.setAdapter(new Adapter(this));
}
@Override
public void onAdapterItemClickListener(int position) {
//CALL YOUR VIDEO PLAYER OR ANY OTHER COMPONENT AND VIEW
}
}
在你的Adapter和ViewHolder中为每个ViewHolder定义一个点击监听器然后调用我们定义的接口。
public class Adapter extends RecyclerView.Adapter<Adapter.MyViewHolder> {
private OnAdapterItemClickListener adapterItemClickListener = null;
public Adapter(OnAdapterItemClickListener listener) {
this.adapterItemClickListener = listener;
}
class MyViewHolder extends RecyclerView.ViewHolder implements OnClickListener {
public MyViewHolder(@NonNull View itemView) {
super(itemView);
itemView.setOnClickListener(this);
}
@Override
public void onClick(View v) {
adapterItemClickListener.onAdapterItemClickListener(getAdapterPosition());
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)