I created youtube like app with one videoview (on top) and recycler view (down of video view). And i am stuck at, i want to create onclicklistner on recyclerview items and change video path to change video, but how to access videoview component (which in created in mainactivity) in adapter class to set path of videoview?
Asked
Active
Viewed 1,578 times
1
-
What language are you writing your app Kotlin or Java? – Arrowsome May 11 '20 at 15:46
-
in java programming. – Indresh Malviya May 11 '20 at 15:51
1 Answers
2
Define an Interface for item click event:
interface OnAdapterItemClickListener {
void onAdapterItemClickListener(int position);
}
Make Your Activity implement and override its method:
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
}
}
In your Adapter and ViewHolder for each ViewHolder define a click listener and then call the interface we defined.
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());
}
}
}

Arrowsome
- 2,649
- 3
- 10
- 35
-
thanks @ramintoosi , and where i have to access videoview to set video path in video view? – Indresh Malviya May 11 '20 at 16:00
-
-
Thank you so much @ramintoosi, i created all things as you described and one more confusion. where i have to create 'adapterItemClickListener' . its saying cannot find symbol – Indresh Malviya May 11 '20 at 16:10
-
@IndreshMalviya I just updated to demonstrate that, let me know if any other issues you have. – Arrowsome May 11 '20 at 16:11
-
Thnk you so much... but nothing happening after added all your code. – Indresh Malviya May 11 '20 at 16:17
-
-