package com.example.day1.base.Apdata; import android.view.View; import androidx.annotation.NonNull; import com.chad.library.adapter.base.BaseMultiItemQuickAdapter; import com.chad.library.adapter.base.viewholder.BaseViewHolder; import com.example.day1.R; import com.example.day1.base.Entity.VideoEntity; import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer; public class MyRecommenApdata1 extends BaseMultiItemQuickAdapter<VideoEntity.DataDTO, BaseViewHolder> { public MyRecommenApdata1(){ addItemType(VideoEntity.VIDEO, R.layout.item3); addItemType(VideoEntity.FULL,R.layout.item1); addItemType(VideoEntity.LIVE,R.layout.item2); } @Override protected void convert(@NonNull BaseViewHolder baseViewHolder, VideoEntity.DataDTO dataDTO) { switch (dataDTO.getType()){ case VideoEntity.VIDEO: { StandardGSYVideoPlayer standardGSYVideoPlayer = baseViewHolder.getView(R.id.gsy); standardGSYVideoPlayer.setUp(dataDTO.getVideopath(), true, ""); standardGSYVideoPlayer.getBackButton().setVisibility(View.GONE); } break; case VideoEntity.FULL: { StandardGSYVideoPlayer standardGSYVideoPlayer = baseViewHolder.getView(R.id.gsy); standardGSYVideoPlayer.setUp(dataDTO.getVideopath(), true, ""); standardGSYVideoPlayer.getBackButton().setVisibility(View.GONE); } break; case VideoEntity.LIVE: StandardGSYVideoPlayer standardGSYVideoPlayer=baseViewHolder.getView(R.id.gsy); standardGSYVideoPlayer.setUp(dataDTO.getVideopath(),true,""); standardGSYVideoPlayer.getBackButton().setVisibility(View.GONE); break; } } }
//适配器进行数据赋值
package com.example.day1.base.friagemnt1; import android.os.Bundle; import androidx.fragment.app.Fragment; import androidx.lifecycle.Observer; import androidx.recyclerview.widget.LinearLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import com.example.day1.R; import com.example.day1.base.Apdata.MyRecommenAdapter; import com.example.day1.base.Apdata.MyRecommenApdata1; import com.example.day1.base.Entity.VideoEntity; import com.example.day1.base.UI.DYLinearLayout; import com.example.day1.base.View.BaseFragment; import com.example.day1.base.Viewmodel.Videovieomodel; import com.example.day1.databinding.FragmentRecommendBinding; import com.shuyu.gsyvideoplayer.video.StandardGSYVideoPlayer; import java.util.List; /** * A simple {@link Fragment} subclass. * Use the {@link RecommendFragment#newInstance} factory method to * create an instance of this fragment. */ public class RecommendFragment extends BaseFragment<FragmentRecommendBinding, Videovieomodel> { MyRecommenApdata1 myRecommenAdapter; // TODO: Rename and change types and number of parameters public static RecommendFragment newInstance() { RecommendFragment fragment = new RecommendFragment(); Bundle args = new Bundle(); fragment.setArguments(args); return fragment; } @Override protected void initdata() { myRecommenAdapter=new MyRecommenApdata1(); mustDATAding.rvRecommend.setAdapter(myRecommenAdapter); mustDATAding.rvRecommend.setLayoutManager(new LinearLayoutManager(getContext())); DYLinearLayout dyLinearLayout=new DYLinearLayout(getContext()); mustDATAding.rvRecommend.setLayoutManager(dyLinearLayout); mustDATAding.rvRecommend.setOnScrollChangeListener(new View.OnScrollChangeListener() { @Override public void onScrollChange(View view, int i, int i1, int i2, int i3) { int lastCompletelyVisibleItemPosition = dyLinearLayout.findFirstVisibleItemPosition(); StandardGSYVideoPlayer standardGSYVideoPlayer= (StandardGSYVideoPlayer) myRecommenAdapter.getViewByPosition(lastCompletelyVisibleItemPosition,R.id.gsy); standardGSYVideoPlayer.startPlayLogic(); } }); } @Override protected void handsercher() { super.handsercher(); mviewmodel.mutableLiveData.observe(this, new Observer<VideoEntity>() { @Override public void onChanged(VideoEntity videoEntity) { List<VideoEntity.DataDTO> dataDTOS=videoEntity.getData(); myRecommenAdapter.getData().addAll(dataDTOS); myRecommenAdapter.notifyDataSetChanged(); } }); } @Override protected void initview() { mviewmodel.getvdieomodel(3,10); } @Override protected Class<Videovieomodel> getviewmodel() { return Videovieomodel.class; } @Override protected int getlayout() { return R.layout.fragment_recommend; } }
//进行视频器引用