Commit 3ece91fa authored by fallenstardust's avatar fallenstardust

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

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