wjc
2025-05-07 5d3efa4c93dde0cde474951e5310bb72ebbf4184
app/src/main/java/com/hdl/photovoltaic/ui/message/MessageFragment.java
@@ -1,7 +1,9 @@
package com.hdl.photovoltaic.ui.message;
import android.annotation.SuppressLint;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
@@ -12,6 +14,7 @@
import androidx.recyclerview.widget.RecyclerView;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import com.google.gson.Gson;
import com.hdl.linkpm.sdk.core.exception.HDLException;
import com.hdl.photovoltaic.R;
import com.hdl.photovoltaic.base.CustomBaseFragment;
@@ -28,7 +31,10 @@
import com.hdl.photovoltaic.ui.adapter.MessageAdapter;
import com.hdl.photovoltaic.ui.bean.MessageBean;
import com.hdl.photovoltaic.ui.bean.UnCountBean;
import com.hdl.photovoltaic.widget.BTypeTitleListDialog;
import com.hdl.photovoltaic.widget.TypeTitleListDialog;
import com.hdl.photovoltaic.widget.refreshlayout.BGARefreshLayout;
import com.hdl.photovoltaic.widget.refreshlayout.HDLRefreshViewHolder;
import com.hdl.sdk.link.core.bean.eventbus.BaseEventBus;
import org.greenrobot.eventbus.EventBus;
@@ -41,7 +47,7 @@
import java.util.Map;
/**
 * 消息
 * 消息模块界面
 */
public class MessageFragment extends CustomBaseFragment {
@@ -51,10 +57,13 @@
    private boolean isAlarmDeviceClick = true;//true表示告警设备被选中,则false表示报警记录被选中
    private final List<MessageBean> mList = new ArrayList<>();
    private boolean isRefreshTotalCount = true;
    private int mTotalCount = 0; //总条数
    private int mCurrentPage = 0; // 当前页码
    private int mCurrentTotal = 0; // 总页码
    private String mDeviceTypeFilterKye = FilterType.deviceType;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterValue = FilterType.all;//过滤类型值 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元)
    private String mDeviceTypeFilterKye = FilterType.deviceType;//过滤类型 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元;"LOAD_CENTRE":负载控制中心)
    private String mDeviceTypeFilterValue = FilterType.all;//过滤类型值 deviceType(INV :逆变器;BMS :BMS控制盒;BATTERY :电池单元;"LOAD_CENTRE":负载控制中心
    private String mTypeFilterKye = FilterType.all;//过滤类型 type(FAULT :故障; WARN :告警; EVENT :事件(提示));
    private String mTypeFilterValue = FilterType.all;//过滤类型值 type(FAULT :故障; WARN :告警; EVENT :事件(提示));
@@ -84,6 +93,7 @@
    private void initEvent() {
        //发生中
        viewBinding.messageTabNascentTitleTv.setOnClickListener(new View.OnClickListener() {
            @Override
@@ -91,11 +101,21 @@
                if (isAlarmDeviceClick) {
                    return;
                }
                mDeviceTypeFilterKye = FilterType.deviceType;
                mDeviceTypeFilterValue = FilterType.all;
                mTypeFilterKye = FilterType.all;
                mTypeFilterValue = FilterType.all;
                mTimeTypeFilterKye = FilterType.all;
                mTimeTypeFilterValue = FilterType.all;
                viewBinding.allDeviceTitleTv.setText(getString(R.string.alarm_all_device));
                viewBinding.allGradeTitleTv.setText(getString(R.string.alarm_all_grade));
                viewBinding.allTimeTitleTv.setText(getString(R.string.alarm_all_time));
                isAlarmDeviceClick = true;
                viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text20Style);
                viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text16Style);
                viewBinding.allClearTv.setVisibility(View.VISIBLE);
                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                isRefreshTotalCount = true;
                viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text18Style);
                viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text14Style);
                viewBinding.allClearIv.setVisibility(View.VISIBLE);
                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
            }
        });
        //报警记录
@@ -105,29 +125,55 @@
                if (!isAlarmDeviceClick) {
                    return;
                }
                mDeviceTypeFilterKye = FilterType.deviceType;
                mDeviceTypeFilterValue = FilterType.all;
                mTypeFilterKye = FilterType.all;
                mTypeFilterValue = FilterType.all;
                mTimeTypeFilterKye = FilterType.all;
                mTimeTypeFilterValue = FilterType.all;
                viewBinding.allDeviceTitleTv.setText(getString(R.string.alarm_all_device));
                viewBinding.allGradeTitleTv.setText(getString(R.string.alarm_all_grade));
                viewBinding.allTimeTitleTv.setText(getString(R.string.alarm_all_time));
                isAlarmDeviceClick = false;
                viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text16Style);
                viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text20Style);
                viewBinding.allClearTv.setVisibility(View.GONE);
                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                isRefreshTotalCount = true;
                viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text14Style);
                viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text18Style);
                viewBinding.allClearIv.setVisibility(View.GONE);
                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
            }
        });
        //搜索消息
        viewBinding.messageSearchCl.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String messageStateType;
                if (isAlarmDeviceClick) {
                    messageStateType = MessageStateType.untreated;
                } else {
                    messageStateType = MessageStateType.processed;
                }
                Intent intent = new Intent();
                intent.putExtra("MessageStateType", messageStateType);
                intent.setClass(_mActivity, SearchMessageActivity.class);
                startActivity(intent);
            }
        });
        //清空所有未读按钮
        viewBinding.allClearTv.setOnClickListener(new View.OnClickListener() {
        viewBinding.allClearIv.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showLoading();
//                showLoading();
                HdlMessageLogic.getInstance().messageAllRead("", new CloudCallBeak<Boolean>() {
                    @Override
                    public void onSuccess(Boolean obj) {
                        hideLoading();
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
//                        hideLoading();
                        loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                    }
                    @Override
                    public void onFailure(HDLException e) {
                        hideLoading();
//                        hideLoading();
                        HdlThreadLogic.toast(_mActivity, e);
                    }
                });
@@ -141,21 +187,7 @@
                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.up);
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                List<String> stringList = getTypeList(FilterType.deviceType);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
                typeTitleListDialog.show();
                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
                    @Override
                    public void onClick(int position, String title) {
                        viewBinding.allDeviceTitleTv.setText(title);
                        mDeviceTypeFilterKye = FilterType.deviceType;
                        mDeviceTypeFilterValue = findFilterValueString(title);
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                    }
                });
                setTypeTitleListDialog(viewBinding.allDeviceTitleTv, FilterType.deviceType, getTypeList(FilterType.deviceType));
            }
        });
@@ -166,18 +198,8 @@
                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.up);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
                List<String> stringList = getTypeList(FilterType.type);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
                typeTitleListDialog.show();
                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
                    @Override
                    public void onClick(int position, String title) {
                        viewBinding.allGradeTitleTv.setText(title);
                        mTypeFilterKye = FilterType.type;
                        mTypeFilterValue = findFilterValueString(title);
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                    }
                });
                setTypeTitleListDialog(viewBinding.allGradeTitleTv, FilterType.type, getTypeList(FilterType.type));
            }
        });
        //全部时间(当天、近3天、近7天、近30天)按钮
@@ -187,50 +209,7 @@
                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.up);
                List<String> stringList = getTypeList(FilterType.timeType);
                TypeTitleListDialog typeTitleListDialog = new TypeTitleListDialog(_mActivity, stringList);
                typeTitleListDialog.show();
                typeTitleListDialog.setOnListener(new TypeTitleListDialog.OnClickListener() {
                    @Override
                    public void onClick(int position, String title) {
                        viewBinding.allTimeTitleTv.setText(title);
                        mTimeTypeFilterKye = FilterType.timeType;
                        mTimeTypeFilterValue = findFilterValueString(title);
                        loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                    }
                });
            }
        });
        //下拉按钮
        viewBinding.messageSrl.setColorSchemeResources(R.color.text_FF245EC3);
        viewBinding.messageSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                viewBinding.messageSrl.setRefreshing(false);
                loadNextPageMessageList(1, true, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
            }
        });
        //上拉按钮
        viewBinding.messageRcv.addOnScrollListener(new RecyclerView.OnScrollListener() {
            @Override
            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) {
//                super.onScrolled(recyclerView, dx, dy);
                LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
                if (layoutManager == null) {
                    return;
                }
                int visibleItemCount = layoutManager.getChildCount();
                int totalItemCount = layoutManager.getItemCount();
                int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
                if (visibleItemCount > 0 && visibleItemCount + firstVisibleItemPosition == totalItemCount) {
                    if (!isLoadingMore) {
                        // 滑动到了底部,执行相应的操作
                        HdlLogLogic.print("--->滑动到了底部");
                        loadNextPageMessageList(++mCurrentPage, false, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false);
                    }
                }
                setTypeTitleListDialog(viewBinding.allTimeTitleTv, FilterType.timeType, getTypeList(FilterType.timeType));
            }
        });
        if (mMessageAdapter != null) {
@@ -238,7 +217,7 @@
                @Override
                public void onClick(int position, MessageBean messageBean) {
                    Intent intent = new Intent();
                    intent.putExtra("msgId", messageBean.getMsgId().toString());
                    intent.putExtra("messageBean", new Gson().toJson(messageBean));
                    intent.setClass(_mActivity, MessageInfoActivity.class);
                    startActivity(intent);
                }
@@ -247,24 +226,136 @@
        }
    }
    /**
     * 类型筛选
     *
     * @param textView   组件显示
     * @param filterType 过滤类型
     * @param stringList 过滤类型值表
     */
    private void setTypeTitleListDialog(TextView textView, String filterType, List<String> stringList) {
        BTypeTitleListDialog typeTitleListDialog = new BTypeTitleListDialog(_mActivity, stringList, textView.getText().toString());
        typeTitleListDialog.show();
        typeTitleListDialog.setOnListener(new BTypeTitleListDialog.OnClickListener() {
            @Override
            public void onClick(int position, String title) {
                textView.setText(title);
                switch (filterType) {
                    case FilterType.deviceType: {
                        mDeviceTypeFilterKye = filterType;
                        mDeviceTypeFilterValue = findFilterValueString(title);
                    }
                    break;
                    case FilterType.type: {
                        mTypeFilterKye = filterType;
                        mTypeFilterValue = findFilterValueString(title);
                    }
                    break;
                    case FilterType.timeType: {
                        mTimeTypeFilterKye = filterType;
                        mTimeTypeFilterValue = findFilterValueString(title);
                    }
                    break;
                }
                loadNextPageMessageList(true, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
            }
        });
        typeTitleListDialog.setOnDismissListener(new DialogInterface.OnDismissListener() {
            @Override
            public void onDismiss(DialogInterface dialog) {
                viewBinding.allDeviceTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allGradeTitleIv.setBackgroundResource(R.drawable.down);
                viewBinding.allTimeTitleIv.setBackgroundResource(R.drawable.down);
            }
        });
    }
    private void initView() {
        if (isAlarmDeviceClick) {
            viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text20Style);
            viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text16Style);
            viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text18Style);
            viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text14Style);
        } else {
            viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text16Style);
            viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text20Style);
            viewBinding.messageTabNascentTitleTv.setTextAppearance(R.style.Text18Style);
            viewBinding.messageTabRecoverTitleTv.setTextAppearance(R.style.Text14Style);
        }
//        viewBinding..topMoreBtn.setVisibility(View.VISIBLE);
//        viewBinding.toolbarTopMessageCenterListRl.topMoreIv.setImageResource(R.drawable.clearall);
        mMessageAdapter = new MessageAdapter(_mActivity);
        viewBinding.messageRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
        viewBinding.messageRcv.setAdapter(mMessageAdapter);
        pullToRefresh();
    }
    /**
     * 下拉刷新的逻辑
     */
    protected void pullToRefresh() {
        viewBinding.messageSrl.setDelegate(new BGARefreshLayout.BGARefreshLayoutDelegate() {
            @Override
            public void onBGARefreshLayoutBeginRefreshing(BGARefreshLayout refreshLayout) {
                new AsyncTask<Void, Void, Void>() {
                    @Override
                    protected Void doInBackground(Void... params) {
                        try {
                            Thread.sleep(1000);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        return null;
                    }
                    @Override
                    protected void onPostExecute(Void aVoid) {
                        // 执行任务(如更新UI、跳转等)
                        viewBinding.messageSrl.endRefreshing();
                        loadNextPageMessageList(false, 1, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, true);
                    }
                }.execute();
            }
            @Override
            public boolean onBGARefreshLayoutBeginLoadingMore(BGARefreshLayout refreshLayout) {
                new AsyncTask<Void, Void, Void>() {
                    @Override
                    protected Void doInBackground(Void... params) {
                        try {
                            Thread.sleep(10);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }
                        return null;
                    }
                    @Override
                    protected void onPostExecute(Void aVoid) {
                        viewBinding.messageSrl.endLoadingMore();
                        //加载最新数据完成
                        if (!isLoadingMore) {
                            // 滑动到了底部,执行相应的操作
                            loadNextPageMessageList(false, ++mCurrentPage, mDeviceTypeFilterKye, mDeviceTypeFilterValue, mTypeFilterKye, mTypeFilterValue, mTimeTypeFilterKye, mTimeTypeFilterValue, false);
                        }
                    }
                }.execute();
                return true;
            }
        });
        HDLRefreshViewHolder hdlRefreshViewHolder = new HDLRefreshViewHolder(_mActivity, true);
        hdlRefreshViewHolder.setPullDownImageResource(R.mipmap.loading_44);
        hdlRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.loading_refresh);
        hdlRefreshViewHolder.setRefreshingAnimResId(R.drawable.loading_refresh_end);
        viewBinding.messageSrl.setRefreshViewHolder(hdlRefreshViewHolder);
    }
    private void initData() {
        //进来读取一次数据(为了更新currentPage,currentTotal这个值),app启动时候读取,为了刷新消息模块的角标
        loadNextPageMessageList(1, true, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, true);
        loadNextPageMessageList(true, 1, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, FilterType.all, true);
    }
@@ -280,10 +371,16 @@
                // 取消粘性事件
                EventBus.getDefault().removeStickyEvent(eventBus);
                //进来读取一次数据(为了更新currentPage,currentTotal这个值)
                initData();
//                initData();
                HdlLogLogic.print("正在点击【消息】");
            }
        } else if (eventBus.getTopic().equals(ConstantManage.message_function_push_post)) {
            if (eventBus.getType().equals(MessageStateType.untreated)) {
                updateListData();
            }/* else if (eventBus.getType().equals(MessageStateType.processed)) {
                updateListData();
            }*/
        }
    }
@@ -299,8 +396,9 @@
     * @param isClear                 true表示清空缓存
     */
    private void loadNextPageMessageList(
            int pageNo,
            boolean isShowLoading,
            int pageNo,
            String deviceType_filter_key,
            String deviceType_filter_value,
            String type_filter_key,
@@ -328,12 +426,13 @@
        } else {
            messageStateType = MessageStateType.processed;
        }
        HdlMessageLogic.getInstance().getPageNoMessageList("", pageNo, messageStateType, deviceType_filter_key, deviceType_filter_value, type_filter_key, type_filter_value, timeType_filter_key, timeType_filter_value, new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
        HdlMessageLogic.getInstance().getPageNoMessageList("", pageNo, messageStateType, deviceType_filter_key, deviceType_filter_value, type_filter_key, type_filter_value, timeType_filter_key, timeType_filter_value, "", new CloudCallBeak<HdlMessageLogic.MessageListClass>() {
            @Override
            public void onSuccess(HdlMessageLogic.MessageListClass messageListClass) {
                if (messageListClass != null) {
                    mCurrentTotal = (int) messageListClass.getTotalPage();
                    mCurrentPage = (int) messageListClass.getPageNo();
                    mTotalCount = (int) messageListClass.getTotalCount();
                    updateListData();
                }
                isLoadingMore = false;
@@ -351,6 +450,7 @@
                if (isShowLoading) {
                    hideLoading();
                }
                HdlThreadLogic.toast(_mActivity, e.getMsg() + "(" + e.getCode() + ")");
            }
        });
@@ -370,20 +470,25 @@
                updateRecyclerViewList();
                //显示未读信息总数量
                getUnreadCount();
                if (isAlarmDeviceClick) {
                    refreshNascentTotalCount(mTotalCount);
                } else {
                    refreshRecoverTotalCount(mTotalCount);
                }
                //显示没数据Ui样式
                nullDataUpdateUi();
            }
        });
    }
    /**
     * 刷新信息数量总数
     * 刷新发送中消息总数量
     *
     * @param nascentTotalCount 发送中消息总数量
     * @param recoverTotalCount 报警记录消息总数量
     */
    private void refreshAascentAndRecoverTotalCount(int nascentTotalCount, int recoverTotalCount) {
    private void refreshNascentTotalCount(int nascentTotalCount) {
        HdlThreadLogic.runMainThread(new Runnable() {
            @Override
            public void run() {
@@ -396,6 +501,20 @@
                        nascentTv.setText(s);
                    }
                }
            }
        });
    }
    /**
     * 刷新报警记录消息总数量
     *
     * @param recoverTotalCount 报警记录消息总数量
     */
    private void refreshRecoverTotalCount(int recoverTotalCount) {
        HdlThreadLogic.runMainThread(new Runnable() {
            @Override
            public void run() {
                //报警记录总数量
                TextView recoverTV = _mActivity.findViewById(R.id.message_tab_recover_title_tv);
                if (recoverTV != null) {
@@ -483,8 +602,12 @@
                        if (unCountBean == null) {
                            return;
                        }
                        refreshAascentAndRecoverTotalCount(unCountBean.getUntreatedCount(), unCountBean.getProcessedCount());
                        refreshUnreadCount(unCountBean.getUnreadCount());
//                        if (isRefreshTotalCount) {
//                            isRefreshTotalCount = false;
                        refreshNascentTotalCount(unCountBean.getUntreatedCount());
                        refreshRecoverTotalCount(unCountBean.getProcessedCount());
//                        }
                    }
                });
@@ -492,10 +615,15 @@
            @Override
            public void onFailure(HDLException e) {
                TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
                if (textView != null) {
                    textView.setVisibility(View.GONE);
                }
                HdlThreadLogic.runMainThread(new Runnable() {
                    @Override
                    public void run() {
                        TextView textView = _mActivity.findViewById(R.id.my_message_bottom_il2).findViewById(R.id.red_count_tv);
                        if (textView != null) {
                            textView.setVisibility(View.GONE);
                        }
                    }
                });
            }
        });
    }
@@ -520,6 +648,7 @@
        map.put(getString(R.string.alarm_all_device_inverter), "INV");
        map.put(getString(R.string.alarm_all_device_bms), "BMS");
        map.put(getString(R.string.alarm_all_device_battery_cell), "BATTERY");
        map.put(getString(R.string.alarm_all_device_load_centre), "LOAD_CENTRE");
        map.put(getString(R.string.alarm_all_grade), "");//设等级全部
        map.put(getString(R.string.alarm_all_grade_malfunction), "FAULT");
        map.put(getString(R.string.alarm_all_grade_warning), "WARN");
@@ -552,6 +681,7 @@
                stringList.add(getString(R.string.alarm_all_device_inverter));
                stringList.add(getString(R.string.alarm_all_device_bms));
                stringList.add(getString(R.string.alarm_all_device_battery_cell));
                stringList.add(getString(R.string.alarm_all_device_load_centre));
            }
            break;
            case FilterType.type: {