今天是本月最重要的课程,讲到了跳转到直播页面,同时实现了关注功能和礼物的布局加实现,这也是月考的主要内容:
@GET("/gift/json") Observable<GiftEntity> getGiftData();
适配器:
public class MyGiftAdapter extends BaseQuickAdapter<GiftEntity.DataBean, BaseViewHolder> { public MyGiftAdapter(int layoutResId) { super(layoutResId); } @Override protected void convert(@NonNull BaseViewHolder baseViewHolder, GiftEntity.DataBean dataBean) { ImageView imageView=baseViewHolder.getView(R.id.iv_gift_item); GlideUtil.loadImage(getContext(),dataBean.getGiftpath(),imageView); baseViewHolder.setText(R.id.tv_gift_item,dataBean.getPrice()+"抖币"); } }
实例化礼物:
要在视频页面跳转到直播页面:
case R.id.cl_enter: ARouter.getInstance() .build(AroutPath.LIVE) .withSerializable("datato",myVideoAdadpter.getData().get(position)) .navigation(); break;
Model和viewmodel:
public class LiveModel extends BaseModel { public Observable<ResustltEntity> getFocusData(RequestBody body){ return mapi.getFocusData(body); } public Observable<GiftEntity> getGiftData(){ return mapi.getGiftData(); } }
Viewmodel:
public class LiveViewModel extends BaseViewModel<LiveModel> { public MutableLiveData<ResustltEntity> focusLiveData=new MutableLiveData<>(); public MutableLiveData<GiftEntity> giftLiveData=new MutableLiveData<>(); @Override protected LiveModel createModel() { return new LiveModel(); } public void postFocusData(RequestBody body){ mModel.getFocusData(body) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<ResustltEntity>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(ResustltEntity resustltEntity) { focusLiveData.postValue(resustltEntity); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } public void getGift(){ mModel.getGiftData() .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(new Observer<GiftEntity>() { @Override public void onSubscribe(Disposable d) { } @Override public void onNext(GiftEntity giftEntity) { giftLiveData.postValue(giftEntity); } @Override public void onError(Throwable e) { } @Override public void onComplete() { } }); } }
功能的所有代码: