Commit 3ece91fa authored by fallenstardust's avatar fallenstardust

移除切换开关重复通知界面刷新

添加注释
parent b1696cff
...@@ -18,10 +18,11 @@ ...@@ -18,10 +18,11 @@
10604644 10604644
10604644 10604644
72291078 72291078
42141493
42141493
42141493
14558128 14558128
14558127 14558127
14558127
23434538
23434538 23434538
60600126 60600126
60600126 60600126
...@@ -39,7 +40,6 @@ ...@@ -39,7 +40,6 @@
14532164 14532164
10045474 10045474
10045474 10045474
10045474
#extra #extra
79229522 79229522
8963089 8963089
...@@ -65,10 +65,8 @@ ...@@ -65,10 +65,8 @@
34267821 34267821
34267821 34267821
34267821 34267821
42141493
42141493
42141493
54693926 54693926
54693926 54693926
54693926 54693926
23002292 23002292
\ No newline at end of file 10045474
\ No newline at end of file
...@@ -29,7 +29,7 @@ public class CardListAdapter extends BaseRecyclerAdapterPlus<Card, BaseViewHolde ...@@ -29,7 +29,7 @@ public class CardListAdapter extends BaseRecyclerAdapterPlus<Card, BaseViewHolde
private final StringManager mStringManager; private final StringManager mStringManager;
private ImageTop mImageTop; private ImageTop mImageTop;
private TextView tv_limit_num; private TextView tv_limit_num;
private LimitList mLimitList; private LimitList mLimitList;//同时只能适用一种禁卡表,所以不管是常规禁限还是genesys禁限,只能使用一个
private boolean mItemBg; private boolean mItemBg;
private final ImageLoader imageLoader; private final ImageLoader imageLoader;
private boolean mEnableSwipe = false; private boolean mEnableSwipe = false;
......
...@@ -218,14 +218,14 @@ public class CardSearcher implements View.OnClickListener { ...@@ -218,14 +218,14 @@ public class CardSearcher implements View.OnClickListener {
genesys_limitSpinner.setVisibility(isChecked ? View.VISIBLE : View.GONE); genesys_limitSpinner.setVisibility(isChecked ? View.VISIBLE : View.GONE);
limitListSpinner.setVisibility(isChecked ? View.GONE : View.VISIBLE); limitListSpinner.setVisibility(isChecked ? View.GONE : View.VISIBLE);
limitSpinner.setVisibility(isChecked ? View.GONE : View.VISIBLE); limitSpinner.setVisibility(isChecked ? View.GONE : View.VISIBLE);
mSettings.setGenesysMode(isChecked ? 1 : 0);
//同时通知整个界面都显示该禁卡表的禁限情况 //同时通知整个界面都显示该禁卡表的禁限情况
LimitList limit = isChecked ? mLimitManager.getGenesysLimit(getSelectText(genesys_limitListSpinner)) : mLimitManager.getLimit(getSelectText(limitListSpinner)); LimitList limit = isChecked ? mLimitManager.getGenesysLimit(getSelectText(genesys_limitListSpinner)) : mLimitManager.getLimit(getSelectText(limitListSpinner));
mICardSearcher.setLimitList(limit);
mCallBack.setLimit(limit); mCallBack.setLimit(limit);
Log.w(TAG, "setLimitList: mCallBack.setLimit(limit) " + mSettings.getGenesysMode());
// 重置禁限筛选条件,以免切换时出现不合预期的结果 // 重置禁限筛选条件,以免切换时出现不合预期的结果
reset(isChecked ? genesys_limitSpinner : limitSpinner); reset(isChecked ? genesys_limitSpinner : limitSpinner);
genesys_Switch.setText(isChecked ? R.string.switch_genesys_mode : R.string.switch_banlist_mode); genesys_Switch.setText(isChecked ? R.string.switch_genesys_mode : R.string.switch_banlist_mode);
mSettings.setGenesysMode(isChecked ? 1 : 0);
}); });
limitListSpinner.setVisibility(genesys_Switch.isChecked() ? View.GONE : View.VISIBLE); limitListSpinner.setVisibility(genesys_Switch.isChecked() ? View.GONE : View.VISIBLE);
limitListSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { limitListSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
......
...@@ -881,7 +881,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -881,7 +881,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
} }
@Override @Override
public void setLimit(LimitList limit) { public void setLimit(LimitList limit) {//由cardsearcher通知更新适用禁卡表的方法
Log.w(TAG, "override: setLimitList "+mSettings.getGenesysMode());
setLimitList(limit); setLimitList(limit);
} }
...@@ -1609,9 +1610,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1609,9 +1610,8 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
*/ */
private void setLimitList(LimitList limitList) { private void setLimitList(LimitList limitList) {
if (limitList == null) return; if (limitList == null) return;
// 检查新的限制列表是否与当前列表相同 // 检查新的限制列表是否与当前列表相同
LimitList last = mDeckAdapater.getLimitList(); LimitList last = mDeckAdapater.getLimitList();//deckadapter只存在一种适用的表,可能是常规禁限表,可能是genesys表
boolean nochanged = last != null && TextUtils.equals(last.getName(), limitList.getName()); boolean nochanged = last != null && TextUtils.equals(last.getName(), limitList.getName());
// 如果限制列表发生变化,则更新牌组适配器并通知数据变更 // 如果限制列表发生变化,则更新牌组适配器并通知数据变更
...@@ -1622,10 +1622,10 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte ...@@ -1622,10 +1622,10 @@ public class DeckManagerFragment extends BaseFragemnt implements RecyclerViewIte
mDeckAdapater.notifyItemRangeChanged(DeckItem.ExtraStart, DeckItem.ExtraEnd); mDeckAdapater.notifyItemRangeChanged(DeckItem.ExtraStart, DeckItem.ExtraEnd);
mDeckAdapater.notifyItemRangeChanged(DeckItem.SideStart, DeckItem.SideEnd); mDeckAdapater.notifyItemRangeChanged(DeckItem.SideStart, DeckItem.SideEnd);
}); });
// 更新卡片列表适配器的限制列表并通知数据变更
mCardListAdapter.setLimitList(limitList);
requireActivity().runOnUiThread(() -> mCardListAdapter.notifyDataSetChanged());
} }
// 更新卡片列表适配器的限制列表并通知数据变更
mCardListAdapter.setLimitList(limitList);
requireActivity().runOnUiThread(() -> mCardListAdapter.notifyDataSetChanged());
// 根据是否有Genesys信用分上限值来显示计分板 // 根据是否有Genesys信用分上限值来显示计分板
if (limitList.getCreditLimits() != null && limitList.getCreditLimits() > 0) { if (limitList.getCreditLimits() != null && limitList.getCreditLimits() > 0) {
......
...@@ -67,7 +67,7 @@ public class DeckAdapater extends RecyclerView.Adapter<DeckViewHolder> implement ...@@ -67,7 +67,7 @@ public class DeckAdapater extends RecyclerView.Adapter<DeckViewHolder> implement
private DeckViewHolder mHeadHolder; private DeckViewHolder mHeadHolder;
private DeckItem mRemoveItem; private DeckItem mRemoveItem;
private int mRemoveIndex; private int mRemoveIndex;
private LimitList mLimitList; private LimitList mLimitList;//同时只能适用一种禁卡表,所以不管是常规禁限还是genesys禁限,只能使用一个
private boolean showHead = false; private boolean showHead = false;
private String mDeckMd5; private String mDeckMd5;
private DeckInfo mDeckInfo; private DeckInfo mDeckInfo;
......
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