Commit e1a630f1 authored by fallenstardust's avatar fallenstardust

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

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