diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseVodHolder.java b/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseVodHolder.java index c5d720bb7..43204ed78 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseVodHolder.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/base/BaseVodHolder.java @@ -13,4 +13,6 @@ public abstract class BaseVodHolder extends Presenter.ViewHolder { } public abstract void initView(Vod item); + + public abstract void unbind(); } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodListHolder.java b/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodListHolder.java index 0b6e8a40f..efb186a6c 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodListHolder.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodListHolder.java @@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.holder; import androidx.annotation.NonNull; +import com.bumptech.glide.Glide; import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.AdapterVodListBinding; import com.fongmi.android.tv.ui.base.BaseVodHolder; @@ -29,4 +30,9 @@ public class VodListHolder extends BaseVodHolder { binding.getRoot().setOnLongClickListener(v -> listener.onLongClick(item)); ImgUtil.load(item.getVodName(), item.getVodPic(), binding.image, true); } + + @Override + public void unbind() { + Glide.with(binding.image).clear(binding.image); + } } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodOvalHolder.java b/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodOvalHolder.java index 6e466d57a..c475c34bb 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodOvalHolder.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodOvalHolder.java @@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.holder; import androidx.annotation.NonNull; +import com.bumptech.glide.Glide; import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.AdapterVodOvalBinding; import com.fongmi.android.tv.ui.base.BaseVodHolder; @@ -33,4 +34,9 @@ public class VodOvalHolder extends BaseVodHolder { binding.getRoot().setOnLongClickListener(v -> listener.onLongClick(item)); ImgUtil.load(item.getVodName(), item.getVodPic(), binding.image); } + + @Override + public void unbind() { + Glide.with(binding.image).clear(binding.image); + } } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodRectHolder.java b/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodRectHolder.java index 3596c5b85..f3243728e 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodRectHolder.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/holder/VodRectHolder.java @@ -2,6 +2,7 @@ package com.fongmi.android.tv.ui.holder; import androidx.annotation.NonNull; +import com.bumptech.glide.Glide; import com.fongmi.android.tv.bean.Vod; import com.fongmi.android.tv.databinding.AdapterVodRectBinding; import com.fongmi.android.tv.ui.base.BaseVodHolder; @@ -39,4 +40,9 @@ public class VodRectHolder extends BaseVodHolder { binding.getRoot().setOnLongClickListener(v -> listener.onLongClick(item)); ImgUtil.load(item.getVodName(), item.getVodPic(), binding.image); } + + @Override + public void unbind() { + Glide.with(binding.image).clear(binding.image); + } } diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java index 63e25a245..1afc75fa1 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/ChannelPresenter.java @@ -6,6 +6,7 @@ import android.view.ViewGroup; import androidx.annotation.NonNull; import androidx.leanback.widget.Presenter; +import com.bumptech.glide.Glide; import com.fongmi.android.tv.bean.Channel; import com.fongmi.android.tv.databinding.AdapterChannelBinding; @@ -46,6 +47,8 @@ public class ChannelPresenter extends Presenter { @Override public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) { + ViewHolder holder = (ViewHolder) viewHolder; + Glide.with(holder.binding.logo).clear(holder.binding.logo); } public static class ViewHolder extends Presenter.ViewHolder { diff --git a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java index 3fc4100e2..6b62cc383 100644 --- a/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java +++ b/app/src/leanback/java/com/fongmi/android/tv/ui/presenter/VodPresenter.java @@ -59,5 +59,6 @@ public class VodPresenter extends Presenter { @Override public void onUnbindViewHolder(Presenter.ViewHolder viewHolder) { + ((BaseVodHolder) viewHolder).unbind(); } } \ No newline at end of file