diff --git a/app/src/main/java/com/fongmi/bear/bean/Class.java b/app/src/main/java/com/fongmi/bear/bean/Class.java index 98f14f3fb..14daf8814 100644 --- a/app/src/main/java/com/fongmi/bear/bean/Class.java +++ b/app/src/main/java/com/fongmi/bear/bean/Class.java @@ -26,4 +26,12 @@ public class Class { public void setSelect(boolean select) { this.select = select; } + + @Override + public boolean equals(Object obj) { + if (this == obj) return true; + if (!(obj instanceof Class)) return false; + Class it = (Class) obj; + return getTypeId().equals(it.getTypeId()); + } } diff --git a/app/src/main/java/com/fongmi/bear/ui/activity/VodActivity.java b/app/src/main/java/com/fongmi/bear/ui/activity/VodActivity.java index bff60a92f..f1d9b5668 100644 --- a/app/src/main/java/com/fongmi/bear/ui/activity/VodActivity.java +++ b/app/src/main/java/com/fongmi/bear/ui/activity/VodActivity.java @@ -23,6 +23,7 @@ import com.fongmi.bear.utils.ResUtil; public class VodActivity extends BaseActivity { private ActivityVodBinding mBinding; + private TypePresenter mTypePresenter; private Result mResult; private View mOldView; @@ -50,6 +51,7 @@ public class VodActivity extends BaseActivity { @Override protected void initEvent() { + mTypePresenter.setOnClickListener((item) -> mBinding.pager.setCurrentItem(mResult.getTypes().indexOf(item))); mBinding.pager.addOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { @Override public void onPageSelected(int position) { @@ -70,7 +72,7 @@ public class VodActivity extends BaseActivity { private void setRecyclerView() { mBinding.recycler.setHorizontalSpacing(ResUtil.dp2px(16)); mBinding.recycler.setRowHeight(ViewGroup.LayoutParams.WRAP_CONTENT); - ArrayObjectAdapter arrayObjectAdapter = new ArrayObjectAdapter(new TypePresenter()); + ArrayObjectAdapter arrayObjectAdapter = new ArrayObjectAdapter(mTypePresenter = new TypePresenter()); arrayObjectAdapter.addAll(0, mResult.getTypes()); ItemBridgeAdapter adapter = new ItemBridgeAdapter(arrayObjectAdapter); mBinding.recycler.setAdapter(adapter); diff --git a/app/src/main/java/com/fongmi/bear/ui/presenter/TypePresenter.java b/app/src/main/java/com/fongmi/bear/ui/presenter/TypePresenter.java index 0b3560274..2ae107ad8 100644 --- a/app/src/main/java/com/fongmi/bear/ui/presenter/TypePresenter.java +++ b/app/src/main/java/com/fongmi/bear/ui/presenter/TypePresenter.java @@ -11,6 +11,16 @@ import com.fongmi.bear.databinding.AdapterTypeBinding; public class TypePresenter extends Presenter { + private OnClickListener mListener; + + public interface OnClickListener { + void onItemClick(Class item); + } + + public void setOnClickListener(OnClickListener listener) { + this.mListener = listener; + } + @Override public Presenter.ViewHolder onCreateViewHolder(ViewGroup parent) { return new ViewHolder(AdapterTypeBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false)); @@ -21,6 +31,7 @@ public class TypePresenter extends Presenter { Class item = (Class) object; ViewHolder holder = (ViewHolder) viewHolder; holder.binding.name.setText(item.getTypeName()); + setOnClickListener(holder, view -> mListener.onItemClick(item)); } @Override