Make vod class clickable

pull/2/head
FongMi 4 years ago
parent ca4c53308a
commit f2a73ecd1e
  1. 8
      app/src/main/java/com/fongmi/bear/bean/Class.java
  2. 4
      app/src/main/java/com/fongmi/bear/ui/activity/VodActivity.java
  3. 11
      app/src/main/java/com/fongmi/bear/ui/presenter/TypePresenter.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());
}
}

@ -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);

@ -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

Loading…
Cancel
Save