Commit 88760e42 authored by fallenstardust's avatar fallenstardust

高亮词搜改回构建cardSearchInfo进行搜索,使高亮词完全匹配卡名的卡片置顶显示

parent 7b5541e4
......@@ -43,6 +43,7 @@ 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.CardSearchInfo;
import cn.garymb.ygomobile.loader.ImageLoader;
import cn.garymb.ygomobile.ui.activities.BaseActivity;
import cn.garymb.ygomobile.ui.adapters.BaseAdapterPlus;
......@@ -391,7 +392,7 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
if (color != Color.WHITE) {
// 获取被点击的文本内容
String clickedText = ((TextView) widget).getText().subSequence(start, end).toString();
mListener.onShowCardList(queryList(clickedText));
mListener.onSearchKeyWord(clickedText);
} else {
YGOUtil.showTextToast(context.getString(R.string.searchresult) + context.getString(R.string.already_end));
}
......@@ -792,6 +793,8 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
void onImageUpdate(Card cardInfo);
void onSearchKeyWord(String keyword);
void onShowCardList(List<Card> cardList);
void onClose();
......@@ -815,6 +818,11 @@ public class CardDetail extends BaseAdapterPlus.BaseViewHolder {
}
@Override
public void onSearchKeyWord(String keyword) {
}
@Override
public void onShowCardList(List<Card> cardList) {
......
......@@ -303,6 +303,11 @@ public class CardSearchFragment extends BaseFragemnt implements CardLoader.CallB
WebActivity.openFAQ(getContext(), cardInfo);
}
@Override
public void onSearchKeyWord(String keyword) {
showSearchKeyWord(keyword);//根据关键词搜索
}
@Override
public void onShowCardList(List<Card> cardList) {
showCardList(cardList, true);//便于查看,排序
......@@ -345,6 +350,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 showCardList(List<Card> cardList, boolean sort) {
if (!cardList.isEmpty()) {
onSearchResult(sort ? mCardLoader.sort(cardList) : cardList, false);//根据情况不同,判断是否调用CardLoader的sort方法排序List<Card>
......
......@@ -65,7 +65,6 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import cn.garymb.ygomobile.AppsSettings;
import cn.garymb.ygomobile.Constants;
......@@ -79,7 +78,6 @@ 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;
import cn.garymb.ygomobile.ui.adapters.CardListAdapter;
......@@ -561,6 +559,11 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
mCardListAdapter.notifyItemChanged(cardInfo);
}
@Override
public void onSearchKeyWord(String keyword) {
showSearchKeyWord(keyword);//根据关键词搜索
}
@Override
public void onShowCardList(List<Card> cardList) {
showCardList(cardList, true);//便于查看,排序
......@@ -614,6 +617,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 showCardList(List<Card> cardList, boolean sort) {
if (!cardList.isEmpty()) {
onSearchResult(sort ? mCardLoader.sort(cardList) : cardList, false);//根据情况不同,判断是否调用CardLoader的sort方法排序List<Card>
......
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