Как я могу остановить воспроизведение всех видео одновременно? - PullRequest
0 голосов
/ 08 мая 2020

Я поместил видеопросмотр в Cardview. Когда я запускаю приложение, все видео начинают воспроизводиться одновременно. Я хочу предотвратить это. Когда я запускаю приложение, должно воспроизводиться первое видео. Когда я смахиваю влево, должно воспроизводиться второе видео, а воспроизведение предыдущего видео должно прекращаться. Кто-нибудь может мне помочь, пожалуйста? Я новичок в Cardviews и Videoviews.

cardview_item. xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.cardview.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_marginTop="20dp"
        android:layout_marginEnd="30dp"
        app:cardCornerRadius="40dp">

        <RelativeLayout
            android:id="@+id/view"
            android:layout_width="match_parent"
            android:layout_height="215dp">

            <VideoView
                android:id="@+id/videoView"
                android:layout_width="220dp"
                android:layout_height="125dp"
                android:layout_centerInParent="false"
                android:layout_centerHorizontal="true"
                android:layout_marginTop="25dp" />

            <TextView
                android:id="@+id/txtName"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_alignWithParentIfMissing="false"
                android:layout_below="@id/videoView"
                android:layout_centerHorizontal="true"
                android:layout_gravity="start"
                android:layout_marginStart="21dp"
                android:layout_marginTop="5dp"
                android:fontFamily="@font/mukta_regular"
                android:paddingStart="5dp"
                android:paddingEnd="10dp"
                android:paddingBottom="10dp"
                android:text="Name"
                android:textAlignment="center"
                android:textColor="@color/colorSearchView"
                android:textSize="18sp"></TextView>

        </RelativeLayout>

    </androidx.cardview.widget.CardView>

</LinearLayout>

SymptomsAdapter

public class SymptomsAdapter extends PagerAdapter {


    private List<Symptom> symptoms;
    private LayoutInflater layoutInflater;
    private Context context;

    public SymptomsAdapter(List<Symptom> symptoms, Context context) {
        this.symptoms = symptoms;
        this.context = context;
    }

    @Override
    public int getCount() {
        return symptoms.size();
    }

    @Override
    public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {
        return view.equals(object);
    }

    @NonNull
    @Override
    public Object instantiateItem(@NonNull ViewGroup container, int position) {
        layoutInflater = LayoutInflater.from(context);
        View view = layoutInflater.inflate(R.layout.cardview_item, container, false);


        VideoView videoView = (VideoView) view.findViewById(R.id.videoView);

        TextView txtName = (TextView) view.findViewById(R.id.txtName);

        Uri uri = Uri.parse("android.resource://..." + symptoms.get(position).getVideo());
        videoView.setVideoURI(uri);
        videoView.start();

        txtName.setText(symptoms.get(position).getName());

        container.addView(view,0);

        return view;
    }

    @Override
    public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {
        container.removeView((View)object);
    }
}
...