Commit 19dec0f0 authored by fallenstardust's avatar fallenstardust

在cardDetail处理完packlist再统一传给showCardList执行

parent 7cbd2914
......@@ -42,6 +42,7 @@ import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants;
import cn.garymb.ygomobile.core.IrrlichtBridge;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.loader.CardLoader;
import cn.garymb.ygomobile.loader.ImageLoader;
import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.adapters.BaseAdapterPlus;
......@@ -70,6 +71,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
private static final String TAG = String.valueOf(CardDetail.class);
private final CardManager cardManager;
private final PackManager packManager;
private final CardLoader cardLoader;
private final ImageView cardImage;
private final TextView name;
private final TextView relatable;
......@@ -183,6 +185,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
lbSetCode = findViewById(R.id.label_setcode);
cardManager = DataManager.get().getCardManager();
packManager = DataManager.get().getPackManager();
cardLoader = new CardLoader(context);
close.setOnClickListener((v) -> {
if (mListener != null) {
mListener.onClose();
......@@ -239,7 +242,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
if (cardInfo == null) {
return;
}
mListener.onShowPackList(cardInfo);
showPackList(cardInfo);
}
});
}
......@@ -314,6 +317,11 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
return mCardInfo;
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
mListener.onShowPackList(packManager.getCards(cardLoader, idToUse));
}
public void setHighlightTextWithClickableSpans(String text) {
SpannableString spannableString = new SpannableString(text);
spanStringList.clear(); // 清空之前的高亮文本列表
......@@ -780,7 +788,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
void onImageUpdate(Card cardInfo);
void onShowPackList(Card cardInfo);
void onShowPackList(List<Card> packList);
void onSearchKeyWord(String keyword);
......@@ -808,7 +816,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
}
@Override
public void onShowPackList(Card cardInfo) {
public void onShowPackList(List<Card> packList) {
}
......
......@@ -304,8 +304,8 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
}
@Override
public void onShowPackList(Card cardInfo) {
showPackList(cardInfo);
public void onShowPackList(List<Card> packList) {
showCardList(packList, false);//保持原收录顺序,不排序
}
@Override
......@@ -315,7 +315,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
@Override
public void onGetRelatedCardList(List<Card> cardList) {
showCardList(cardList, true);
showCardList(cardList, true);//便于查看,排序
}
@Override
......@@ -364,19 +364,7 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
if (!cardList.isEmpty()) {
onSearchResult(sort ? mCardLoader.sort(cardList) : cardList, false);//根据情况不同,判断是否调用CardLoader的sort方法排序List<Card>
} else {
Log.w("cc", "No related card found");
}
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
List<Card> packList = mPackManager.getCards(mCardLoader, idToUse);
if (packList != null) {
onSearchResult(packList, false);//为了保持原packlist的收录顺序,不调用CardLoader的sort方法排序List<Card>
} else {
Log.w("cc", "No pack found for the given ID/Alias: " + idToUse);
Log.w("cc", "No card found");
}
}
......
......@@ -562,8 +562,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
@Override
public void onShowPackList(Card cardInfo) {
showPackList(cardInfo);
public void onShowPackList(List<Card> packList) {
showCardList(packList, false);//保持原收录顺序,不排序
}
@Override
......@@ -573,7 +573,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
@Override
public void onGetRelatedCardList(List<Card> cardList) {
showCardList(cardList, true);
showCardList(cardList, true);//便于查看,排序
}
@Override
......@@ -633,21 +633,7 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
if (!cardList.isEmpty()) {
onSearchResult(sort ? mCardLoader.sort(cardList) : cardList, false);//根据情况不同,判断是否调用CardLoader的sort方法排序List<Card>
} else {
Log.w("cc", "No related card found");
}
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
// 确保再次检查 PackManager 是否已经加载完成
if (mPackManager == null) {
return;
}
List<Card> packList = mPackManager.getCards(mCardLoader, idToUse);
if (packList != null) {
onSearchResult(packList, false);
} else {
Log.w("seesee", "No pack found for the given ID/Alias: " + idToUse);
Log.w("cc", "No card found");
}
}
......
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