Commit e1a630f1 authored by fallenstardust's avatar fallenstardust

添加高亮文字点击关键词搜索并显示结果

parent 99557d14
......@@ -369,7 +369,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
public void onClick(View widget) {
// 获取被点击的文本内容
String clickedText = ((TextView) widget).getText().subSequence(start, end).toString();
handleItemClick(clickedText);
mListener.onSearchKeyWord(clickedText);
}
@Override
......@@ -380,13 +380,6 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
}, start, end, SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);
}
// 处理点击事件的方法
private void handleItemClick(String clickedText) {
CardSearchInfo searchInfo = new CardSearchInfo.Builder().keyword(clickedText).build();
}
private void setCardInfo(Card cardInfo, View view) {
if (cardInfo == null) return;
mCardInfo = cardInfo;
......@@ -669,10 +662,6 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
void onFavoriteChange(Card card, boolean favorite);
}
public interface OnShowPackListListener {
void onShowPackList(Card card);
}
public interface OnDeckManagerCardClickListener {
void onOpenUrl(Card cardInfo);
......@@ -684,6 +673,8 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
void onShowPackList(Card cardInfo);
void onSearchKeyWord(String keyword);
void onClose();
}
......@@ -710,6 +701,11 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
}
@Override
public void onSearchKeyWord(String keyword) {
}
@Override
public void onAddSideCard(Card cardInfo) {
......
......@@ -36,6 +36,7 @@ import cn.garymb.ygomobile.base.BaseFragemnt;
import cn.garymb.ygomobile.core.IrrlichtBridge;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.loader.CardLoader;
import cn.garymb.ygomobile.loader.CardSearchInfo;
import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.activities.WebActivity;
import cn.garymb.ygomobile.ui.adapters.CardListAdapter;
......@@ -43,8 +44,6 @@ import cn.garymb.ygomobile.ui.home.HomeActivity;
import cn.garymb.ygomobile.ui.plus.AOnGestureListener;
import cn.garymb.ygomobile.ui.plus.DialogPlus;
import cn.garymb.ygomobile.ui.plus.VUiKit;
import cn.garymb.ygomobile.ui.widget.Shimmer;
import cn.garymb.ygomobile.ui.widget.ShimmerTextView;
import cn.garymb.ygomobile.utils.YGOUtil;
import cn.garymb.ygomobile.utils.glide.GlideCompat;
import ocgcore.DataManager;
......@@ -304,6 +303,11 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
showPackList(cardInfo);
}
@Override
public void onSearchKeyWord(String keyword) {
showSearchKeyWord(keyword);
}
@Override
public void onImageUpdate(Card cardInfo) {
mCardListAdapter.notifyItemChanged(cardInfo);
......@@ -341,6 +345,11 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
}
}
private void showSearchKeyWord(String keyword) {
CardSearchInfo searchInfo = new CardSearchInfo.Builder().keyword(keyword).types(new long[]{}).build();//构建CardSearchInfo时type不能为null
mCardLoader.search(searchInfo);
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
......
......@@ -78,6 +78,7 @@ import cn.garymb.ygomobile.bean.events.DeckFile;
import cn.garymb.ygomobile.core.IrrlichtBridge;
import cn.garymb.ygomobile.lite.R;
import cn.garymb.ygomobile.loader.CardLoader;
import cn.garymb.ygomobile.loader.CardSearchInfo;
import cn.garymb.ygomobile.loader.ICardSearcher;
import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.activities.WebActivity;
......@@ -562,6 +563,11 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
showPackList(cardInfo);
}
@Override
public void onSearchKeyWord(String keyword) {
showSearchKeyWord(keyword);//根据关键词搜索
}
@Override
public void onClose() {
mDialog.dismiss();
......@@ -610,6 +616,11 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
}
}
private void showSearchKeyWord(String keyword) {
CardSearchInfo searchInfo = new CardSearchInfo.Builder().keyword(keyword).types(new long[]{}).build();//构建CardSearchInfo时type不能为null
mCardLoader.search(searchInfo);
}
private void showPackList(Card cardInfo) {
Integer idToUse = cardInfo.Alias != 0 ? cardInfo.Alias : cardInfo.Code;
// 确保再次检查 PackManager 是否已经加载完成
......
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