Commit fc1d78dc authored by fallenstardust's avatar fallenstardust

更改使用decklistadapter

parent 63375b8a
...@@ -9,7 +9,7 @@ public class DeckFile extends TextSelect { ...@@ -9,7 +9,7 @@ public class DeckFile extends TextSelect {
private final File path; private final File path;
private final String fullName; private final String fullName;
// //分类
private String typeName; private String typeName;
private int firstCode; private int firstCode;
......
package cn.garymb.ygomobile.ui.adapters; package cn.garymb.ygomobile.ui.adapters;
import android.content.Context; import android.annotation.SuppressLint;
import android.graphics.Color;
import android.view.View; import android.view.View;
import android.widget.ImageView; import android.widget.ImageView;
import android.widget.TextView; import android.widget.TextView;
import androidx.annotation.NonNull;
import com.chad.library.adapter.base.BaseQuickAdapter; import com.chad.library.adapter.base.BaseQuickAdapter;
import com.chad.library.adapter.base.listener.OnItemClickListener; import com.chad.library.adapter.base.listener.OnItemClickListener;
import com.chad.library.adapter.base.viewholder.BaseViewHolder; import com.chad.library.adapter.base.viewholder.BaseViewHolder;
...@@ -20,23 +19,24 @@ import cn.garymb.ygomobile.bean.events.DeckFile; ...@@ -20,23 +19,24 @@ import cn.garymb.ygomobile.bean.events.DeckFile;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.loader.ImageLoader; import cn.garymb.ygomobile.loader.ImageLoader;
import cn.garymb.ygomobile.ui.cards.deck.ImageTop; import cn.garymb.ygomobile.ui.cards.deck.ImageTop;
import cn.garymb.ygomobile.utils.YGOUtil;
import ocgcore.data.LimitList; import ocgcore.data.LimitList;
public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPlus<DeckFile, BaseViewHolder>{ public class DeckListAdapter<T extends TextSelect> extends BaseQuickAdapter<T, DeckViewHolder> {
private ImageLoader imageLoader; private ImageLoader imageLoader;
private ImageTop mImageTop; private ImageTop mImageTop;
private LimitList mLimitList; private LimitList mLimitList;
private boolean mEnableSwipe = false; private boolean mEnableSwipe = false;
private DeckInfo deckInfo; private DeckInfo deckInfo;
private DeckFile deckFile; private DeckFile deckFile;
private TextSelectAdapter.OnItemSelectListener onItemSelectListener; private OnItemSelectListener onItemSelectListener;
private int selectPosition; private int selectPosition;
private boolean isSelect; private boolean isSelect;
private boolean isManySelect; private boolean isManySelect;
private List<T> selectList; private List<T> selectList;
public DeckListAdapter(Context context, List<T> data, int select) { public DeckListAdapter(List<T> data, int select) {
super(context, R.layout.item_server_info_swipe); super(R.layout.item_deck_list_swipe, data);
this.selectPosition = select; this.selectPosition = select;
if (select >= 0) if (select >= 0)
isSelect = true; isSelect = true;
...@@ -55,22 +55,31 @@ public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPl ...@@ -55,22 +55,31 @@ public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPl
onItemSelectListener.onItemSelect(position, data.get(position).getObject()); onItemSelectListener.onItemSelect(position, data.get(position).getObject());
} }
}); });
} }
@SuppressLint("ResourceType")
@Override @Override
protected void convert(@NonNull com.chad.library.adapter.base.viewholder.BaseViewHolder baseViewHolder, DeckFile deck) { protected void convert(DeckViewHolder holder, T item) {
imageLoader.bindImage(baseViewHolder.getView(R.id.card_image), deck.getFirstCode(), ImageLoader.Type.small); int position = holder.getAdapterPosition();
baseViewHolder.setText(R.id.tv_name,deck.getName());
baseViewHolder.setText(R.id.count_main,deckInfo.getMainCount()); holder.deckName.setText(item.getName());
baseViewHolder.setText(R.id.count_ex,deckInfo.getExtraCount()); if (isManySelect) {
baseViewHolder.setText(R.id.count_main,deckInfo.getSideCount()); if (selectList.contains(item))
holder.deckName.setBackgroundColor(YGOUtil.c(R.color.colorMain));
else
holder.deckName.setBackgroundResource(Color.TRANSPARENT);
} else if (isSelect) {
if (position == selectPosition) {
holder.deckName.setBackgroundColor(YGOUtil.c(R.color.colorMain));
} else {
holder.deckName.setBackgroundResource(Color.TRANSPARENT);
}
}else {
holder.deckName.setBackgroundResource(Color.TRANSPARENT);
}
imageLoader.bindImage(cardImage, item.getFirstCode(), ImageLoader.Type.small);
} }
public void setEnableSwipe(boolean enableSwipe) {
mEnableSwipe = enableSwipe;
}
public void setSelectPosition(int selectPosition) { public void setSelectPosition(int selectPosition) {
this.selectPosition = selectPosition; this.selectPosition = selectPosition;
} }
...@@ -106,7 +115,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPl ...@@ -106,7 +115,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPl
return selectPosition; return selectPosition;
} }
public void setOnItemSelectListener(TextSelectAdapter.OnItemSelectListener onItemSelectListener) { public void setOnItemSelectListener(OnItemSelectListener onItemSelectListener) {
this.onItemSelectListener = onItemSelectListener; this.onItemSelectListener = onItemSelectListener;
} }
...@@ -114,7 +123,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPl ...@@ -114,7 +123,7 @@ public class DeckListAdapter<T extends TextSelect> extends BaseRecyclerAdapterPl
void onItemSelect(int position, T item); void onItemSelect(int position, T item);
} }
} }
class DeckViewHolder extends BaseRecyclerAdapterPlus.BaseViewHolder { class DeckViewHolder extends com.chad.library.adapter.base.viewholder.BaseViewHolder {
ImageView cardImage; ImageView cardImage;
ImageView prerelease_star; ImageView prerelease_star;
TextView deckName; TextView deckName;
...@@ -125,11 +134,11 @@ class DeckViewHolder extends BaseRecyclerAdapterPlus.BaseViewHolder { ...@@ -125,11 +134,11 @@ class DeckViewHolder extends BaseRecyclerAdapterPlus.BaseViewHolder {
public DeckViewHolder(View view) { public DeckViewHolder(View view) {
super(view); super(view);
view.setTag(view.getId(), this); view.setTag(view.getId(), this);
cardImage = $(R.id.card_image); cardImage = findView(R.id.card_image);
deckName = $(R.id.deck_name); deckName = findView(R.id.deck_name);
main = $(R.id.count_main); main = findView(R.id.count_main);
extra = $(R.id.count_ex); extra = findView(R.id.count_ex);
side = $(R.id.count_ex); side = findView(R.id.count_ex);
prerelease_star = $(R.id.prerelease_star); prerelease_star = findView(R.id.prerelease_star);
} }
} }
\ No newline at end of file
...@@ -36,6 +36,7 @@ import cn.garymb.ygomobile.adapter.TextBaseAdapter; ...@@ -36,6 +36,7 @@ import cn.garymb.ygomobile.adapter.TextBaseAdapter;
import cn.garymb.ygomobile.bean.DeckType; import cn.garymb.ygomobile.bean.DeckType;
import cn.garymb.ygomobile.bean.events.DeckFile; import cn.garymb.ygomobile.bean.events.DeckFile;
import cn.garymb.ygomobile.lite.R; import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.ui.adapters.DeckListAdapter;
import cn.garymb.ygomobile.ui.adapters.TextSelectAdapter; import cn.garymb.ygomobile.ui.adapters.TextSelectAdapter;
import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil; import cn.garymb.ygomobile.ui.mycard.mcchat.util.ImageUtil;
import cn.garymb.ygomobile.ui.plus.DialogPlus; import cn.garymb.ygomobile.ui.plus.DialogPlus;
...@@ -90,7 +91,7 @@ public class YGODialogUtil { ...@@ -90,7 +91,7 @@ public class YGODialogUtil {
private final TextView tv_copy; private final TextView tv_copy;
private final TextView tv_del; private final TextView tv_del;
private final TextSelectAdapter<DeckType> typeAdp; private final TextSelectAdapter<DeckType> typeAdp;
private final TextSelectAdapter<DeckFile> deckAdp; private final DeckListAdapter<DeckFile> deckAdp;
private final Dialog ygoDialog; private final Dialog ygoDialog;
public ViewHolder(Context context, String selectDeckPath, OnDeckMenuListener onDeckMenuListener) { public ViewHolder(Context context, String selectDeckPath, OnDeckMenuListener onDeckMenuListener) {
...@@ -156,7 +157,7 @@ public class YGODialogUtil { ...@@ -156,7 +157,7 @@ public class YGODialogUtil {
} }
} }
typeAdp = new TextSelectAdapter<>(typeList, typeSelectPosition); typeAdp = new TextSelectAdapter<>(typeList, typeSelectPosition);
deckAdp = new TextSelectAdapter<>(deckList, deckSelectPosition); deckAdp = new DeckListAdapter<>(deckList, deckSelectPosition);
rv_type.setAdapter(typeAdp); rv_type.setAdapter(typeAdp);
rv_deck.setAdapter(deckAdp); rv_deck.setAdapter(deckAdp);
typeAdp.setOnItemSelectListener(new TextSelectAdapter.OnItemSelectListener<DeckType>() { typeAdp.setOnItemSelectListener(new TextSelectAdapter.OnItemSelectListener<DeckType>() {
...@@ -177,7 +178,7 @@ public class YGODialogUtil { ...@@ -177,7 +178,7 @@ public class YGODialogUtil {
deckAdp.notifyDataSetChanged(); deckAdp.notifyDataSetChanged();
} }
}); });
deckAdp.setOnItemSelectListener(new TextSelectAdapter.OnItemSelectListener<DeckFile>() { deckAdp.setOnItemSelectListener(new DeckListAdapter.OnItemSelectListener<DeckFile>() {
@Override @Override
public void onItemSelect(int position, DeckFile item) { public void onItemSelect(int position, DeckFile item) {
if (deckAdp.isManySelect()) { if (deckAdp.isManySelect()) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment