From 198cbbe0ac7eedba20d43c47b0448845d6a279ba Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期二, 07 五月 2024 19:10:39 +0800
Subject: [PATCH] 2024年05月07日19:10:30

---
 app/src/main/res/drawable/search_back.png                                       |    0 
 app/src/main/res/layout/item_search_house.xml                                   |   39 ++
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java        |    2 
 app/src/main/res/drawable/search_bj_ff05000000.xml                              |    2 
 app/src/main/res/values/strings.xml                                             |    3 
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java |  374 +++++++++++++++++++++
 app/src/main/res/layout/activity_house_search.xml                               |  158 +++++++++
 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java               |   31 -
 app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java                  |    4 
 app/src/main/res/drawable/history_del.png                                       |    0 
 app/src/main/res/layout/fragment_house_list.xml                                 |    5 
 app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java                 |   31 +
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchDeviceAdapter.java      |   99 +++++
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHistoryAdapter.java     |   97 +++++
 app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHouseAdapter.java       |  102 ++++++
 app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java   |   24 +
 app/src/main/res/layout/item_history_title.xml                                  |   19 +
 17 files changed, 948 insertions(+), 42 deletions(-)

diff --git a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
index af09611..2382eef 100644
--- a/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
+++ b/app/src/main/java/com/hdl/photovoltaic/other/HdlFileLogic.java
@@ -99,6 +99,8 @@
         return getAPPInternalStoreFilesPath() + "/upgrade/firmware";
     }
 
+
+
     /**
      * 鑾峰彇銆愭棩蹇楁枃浠躲�戝叏璺緞
      */
@@ -319,7 +321,7 @@
             }
 //            System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鎴愬姛--->" + dataLine);
         } catch (Exception e) {
-//            System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鏈夊紓甯�--->" + e.getMessage());
+            System.out.println("鍐欏叆涓�琛屾暟鎹埌鏂囦欢鏈夊紓甯�--->" + e.getMessage());
         }
 
     }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
index 8a1bb87..b43aba7 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/DeviceInfoAdapter.java
@@ -47,7 +47,7 @@
             public void onClick(View v) {
                 try {
                     if (mOnclickListener != null) {
-                        mOnclickListener.onClick((int) holder.item_parent_rl.getTag(), deviceBean);
+                        mOnclickListener.onClick((int) holder.itemView.getTag(), deviceBean);
                     }
                 } catch (Exception ignored) {
                 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchDeviceAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchDeviceAdapter.java
new file mode 100644
index 0000000..3c3e62c
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchDeviceAdapter.java
@@ -0,0 +1,99 @@
+package com.hdl.photovoltaic.ui.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.ui.bean.DeviceBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class SearchDeviceAdapter  extends RecyclerView.Adapter<SearchDeviceAdapter.MyViewHolder> {
+    List<DeviceBean> mList;
+
+    Context mContext;
+
+    DeviceInfoAdapter.OnClickListener mOnclickListener;
+
+    public SearchDeviceAdapter(Context context) {
+
+        this.mContext = context;
+    }
+
+    @NonNull
+    @Override
+    public SearchDeviceAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_search_house, parent, false);
+        return new MyViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull SearchDeviceAdapter.MyViewHolder holder, int position) {
+        DeviceBean deviceBean = this.mList.get(position);
+
+        holder.power_station_name_tv.setText(deviceBean.getHomeName());
+        holder.power_station_location_tv.setText(deviceBean.getAddress());
+        holder.itemView.setTag(position);
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    if (mOnclickListener != null) {
+                        mOnclickListener.onClick((int) holder.itemView.getTag(), deviceBean);
+                    }
+                } catch (Exception ignored) {
+                }
+            }
+        });
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return this.mList == null ? 0 : this.mList.size();
+    }
+
+    public void setOnclickListener(DeviceInfoAdapter.OnClickListener onClickListener) {
+        this.mOnclickListener = onClickListener;
+    }
+
+    public void setList(List<DeviceBean> newData) {
+        if (this.mList == null) {
+            this.mList = new ArrayList<>();
+        } else {
+            this.mList.clear();
+        }
+
+        this.mList.addAll(newData);
+        notifyDataSetChanged();
+    }
+
+    public interface OnClickListener {
+        void onClick(int position, DeviceBean deviceBean);
+
+    }
+
+    /**
+     * 涓�琛屽竷灞�瀹瑰櫒
+     */
+    static class MyViewHolder extends RecyclerView.ViewHolder {
+
+
+        public TextView power_station_name_tv;
+        public TextView power_station_location_tv;
+
+
+        public MyViewHolder(@NonNull View itemView) {
+            super(itemView);
+            power_station_name_tv = itemView.findViewById(R.id.power_station_name_tv);
+            power_station_location_tv = itemView.findViewById(R.id.power_station_location_tv);
+        }
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHistoryAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHistoryAdapter.java
new file mode 100644
index 0000000..3ee011b
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHistoryAdapter.java
@@ -0,0 +1,97 @@
+package com.hdl.photovoltaic.ui.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.hdl.photovoltaic.R;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鍘嗗彶璁板綍閫傞厤鍣�
+ */
+public class SearchHistoryAdapter extends RecyclerView.Adapter<SearchHistoryAdapter.MyViewHolder> {
+
+    List<String> mList;
+
+    Context mContext;
+
+    OnClickListener mOnclickListener;
+
+    public SearchHistoryAdapter(Context context) {
+
+        this.mContext = context;
+    }
+
+    @NonNull
+    @Override
+    public SearchHistoryAdapter.MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_history_title, parent, false);
+        return new MyViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull SearchHistoryAdapter.MyViewHolder holder, int position) {
+        String history_title = this.mList.get(position);
+
+        holder.history_title_tv.setText(history_title);
+        holder.itemView.setTag(position);
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    if (mOnclickListener != null) {
+                        mOnclickListener.onClick((int) holder.itemView.getTag(), history_title);
+                    }
+                } catch (Exception ignored) {
+                }
+            }
+        });
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return this.mList == null ? 0 : this.mList.size();
+    }
+
+    public void setOnclickListener(OnClickListener onClickListener) {
+        this.mOnclickListener = onClickListener;
+    }
+
+    public void setList(List<String> newData) {
+        if (this.mList == null) {
+            this.mList = new ArrayList<>();
+        } else {
+            this.mList.clear();
+        }
+
+        this.mList.addAll(newData);
+        notifyDataSetChanged();
+    }
+
+    public interface OnClickListener {
+        void onClick(int position, String title);
+
+    }
+
+    static class MyViewHolder extends RecyclerView.ViewHolder {
+
+
+        public TextView history_title_tv;
+
+
+        public MyViewHolder(@NonNull View itemView) {
+            super(itemView);
+            history_title_tv = itemView.findViewById(R.id.history_title_tv);
+        }
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHouseAdapter.java b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHouseAdapter.java
new file mode 100644
index 0000000..bc858f1
--- /dev/null
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/adapter/SearchHouseAdapter.java
@@ -0,0 +1,102 @@
+package com.hdl.photovoltaic.ui.adapter;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.hdl.photovoltaic.R;
+import com.hdl.photovoltaic.ui.bean.HouseIdBean;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * 鎼滅储鐢电珯閫傞厤鍣�
+ */
+public class SearchHouseAdapter extends RecyclerView.Adapter<SearchHouseAdapter.MyViewHolder> {
+    List<HouseIdBean> mList;
+
+    Context mContext;
+
+    OnClickListener mOnclickListener;
+
+    public SearchHouseAdapter(Context context) {
+
+        this.mContext = context;
+    }
+
+    @NonNull
+    @Override
+    public MyViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
+        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_search_house, parent, false);
+        return new MyViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
+        HouseIdBean houseIdBean = this.mList.get(position);
+
+        holder.power_station_name_tv.setText(houseIdBean.getHomeName());
+        holder.power_station_location_tv.setText(houseIdBean.getAddress());
+        holder.itemView.setTag(position);
+        holder.itemView.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                try {
+                    if (mOnclickListener != null) {
+                        mOnclickListener.onClick((int) holder.itemView.getTag(), houseIdBean);
+                    }
+                } catch (Exception ignored) {
+                }
+            }
+        });
+
+    }
+
+    @Override
+    public int getItemCount() {
+        return this.mList == null ? 0 : this.mList.size();
+    }
+
+    public void setOnclickListener(OnClickListener onClickListener) {
+        this.mOnclickListener = onClickListener;
+    }
+
+    public void setList(List<HouseIdBean> newData) {
+        if (this.mList == null) {
+            this.mList = new ArrayList<>();
+        } else {
+            this.mList.clear();
+        }
+
+        this.mList.addAll(newData);
+        notifyDataSetChanged();
+    }
+
+    public interface OnClickListener {
+        void onClick(int position, HouseIdBean houseIdBean);
+
+    }
+
+    /**
+     * 涓�琛屽竷灞�瀹瑰櫒
+     */
+    static class MyViewHolder extends RecyclerView.ViewHolder {
+
+
+        public TextView power_station_name_tv;
+        public TextView power_station_location_tv;
+
+
+        public MyViewHolder(@NonNull View itemView) {
+            super(itemView);
+            power_station_name_tv = itemView.findViewById(R.id.power_station_name_tv);
+            power_station_location_tv = itemView.findViewById(R.id.power_station_location_tv);
+        }
+    }
+}
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
index a20daaa..c579118 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseIdBean.java
@@ -27,6 +27,11 @@
 
     private boolean state_select = false;//琛ㄧず鏄惁鏄剧ず閫変腑缁勪欢(true鏄剧ず)
 
+    private HouseInfoBean.Location location;//鐢电珯鍦板潃
+
+
+    private String address;//璇︾粏鍦板潃
+
 
     public boolean isState_select() {
         return state_select;
@@ -117,5 +122,31 @@
         this.localSecret = localSecret;
     }
 
+    public HouseInfoBean.Location getLocation() {
+        return location == null ? new HouseInfoBean.Location() : location;
+    }
 
+    public void setLocation(HouseInfoBean.Location location) {
+        this.location = location;
+    }
+
+    public String getAddress() {
+        return address == null ? "" : address;
+    }
+
+    public void setAddress(String address) {
+        this.address = address;
+    }
+
+    /**
+     * 鎷间綇瀹呭湴鍧�
+     *
+     * @return 浣忓畢鍦板潃
+     */
+    public String getHomeAddress() {
+        if (this.location == null) {
+            return this.address;
+        }
+        return this.location.getNationName() + this.location.getProvinceName() + this.location.getCityName() + this.address;
+    }
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
index eb572d2..aa4a54c 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/bean/HouseInfoBean.java
@@ -4,8 +4,7 @@
  * 鐢电珯璇︽儏瀹炰綋绫�
  */
 public class HouseInfoBean extends HouseIdBean {
-    private Location location;//鐢电珯鍦板潃
-    private String address;//璇︾粏鍦板潃
+
     private String latitude;//绾害
     private String longitude;//缁忓害
     private String timezone;//鏃跺尯
@@ -18,22 +17,6 @@
 
     private String zoneType;//鍖哄煙
 
-
-    public Location getLocation() {
-        return location == null ? new Location() : location;
-    }
-
-    public void setLocation(Location location) {
-        this.location = location;
-    }
-
-    public String getAddress() {
-        return address == null ? "" : address;
-    }
-
-    public void setAddress(String address) {
-        this.address = address;
-    }
 
     public String getLatitude() {
         return latitude == null ? "" : latitude;
@@ -177,15 +160,5 @@
     }
 
 
-    /**
-     * 鎷间綇瀹呭湴鍧�
-     *
-     * @return 浣忓畢鍦板潃
-     */
-    public String getHomeAddress() {
-        if (this.location == null) {
-            return this.address;
-        }
-        return this.location.nationName + this.location.provinceName + this.location.cityName + this.address;
-    }
+
 }
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
index 60aa18f..ec46796 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseListFragment.java
@@ -1,5 +1,6 @@
 package com.hdl.photovoltaic.ui.powerstation;
 
+import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.view.View;
@@ -133,12 +134,21 @@
             }
         });
 
-        //娣诲姞鐢电珯
+        //鐢电珯娣诲姞
         viewBinding.addIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
                 HdlUniLogic.getInstance().openUniMP(HDLUniMP.UNI_EVENT_OPEN_HOME_CREATION, null);
 
+            }
+        });
+        //鐢电珯娣绘悳绱�
+        viewBinding.powerStationSearchClickCl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                Intent intent = new Intent();
+                intent.setClass(_mActivity, HouseSearchActivity.class);
+                startActivity(intent);
             }
         });
         //鐢电珯璁剧疆涓嬫媺绠ご棰滆壊
@@ -173,7 +183,7 @@
                 }
             }
         });
-        //杩涘叆鐢电珯璇︽儏,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆
+        //鐢电珯璇︽儏杩涘叆,鍒犻櫎鐢电珯,绉诲姩鐢电珯浣嶇疆
         houseInfoAdapter.setNoOnclickListener(new HouseInfoAdapter.OnclickListener() {
             @Override
             public void onClick(int position, HouseIdBean houseIdBean) {
@@ -269,7 +279,7 @@
 
             }
         });
-        //缂栬緫鐢电珯鎸夐挳
+        //鐢电珯缂栬緫鎸夐挳
         viewBinding.editIv.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -287,7 +297,7 @@
                 value = isSelected ? SortValue.ascending : SortValue.descending;
             }
         });
-        //鍙戠數鍔熺巼绛涢��
+        //鐢电珯鍙戠數鍔熺巼绛涢��
         viewBinding.stationPowerRl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -298,7 +308,7 @@
                 value = isSelected ? SortValue.ascending : SortValue.descending;
             }
         });
-        //褰撴棩鍙戠數閲忕瓫閫�
+        //鐢电珯褰撴棩鍙戠數閲忕瓫閫�
         viewBinding.stationDayRl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -309,7 +319,7 @@
                 value = isSelected ? SortValue.ascending : SortValue.descending;
             }
         });
-        //褰撴湀鍙戠數閲忕瓫閫�
+        //鐢电珯褰撴湀鍙戠數閲忕瓫閫�
         viewBinding.stationMonthRl.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
@@ -320,7 +330,7 @@
                 value = isSelected ? SortValue.ascending : SortValue.descending;
             }
         });
-        //鐐瑰嚮璁惧
+        //璁惧鐐瑰嚮
         deviceInfoAdapter.setOnclickListener(new DeviceInfoAdapter.OnClickListener() {
             @Override
             public void onClick(int position, DeviceBean deviceBean) {
diff --git a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
index 058b88b..2131a6f 100644
--- a/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
+++ b/app/src/main/java/com/hdl/photovoltaic/ui/powerstation/HouseSearchActivity.java
@@ -2,19 +2,391 @@
 
 
 import android.os.Bundle;
+import android.text.Editable;
+import android.text.TextUtils;
+import android.text.TextWatcher;
+import android.view.View;
 
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
+
+import com.google.gson.Gson;
+import com.google.gson.reflect.TypeToken;
+import com.hdl.linkpm.sdk.core.exception.HDLException;
+import com.hdl.photovoltaic.R;
 import com.hdl.photovoltaic.base.CustomBaseActivity;
+import com.hdl.photovoltaic.databinding.ActivityHouseSearchBinding;
+import com.hdl.photovoltaic.enums.ShowErrorMode;
+import com.hdl.photovoltaic.enums.SortType;
+import com.hdl.photovoltaic.listener.CloudCallBeak;
+import com.hdl.photovoltaic.other.HdlFileLogic;
+import com.hdl.photovoltaic.other.HdlLogLogic;
+import com.hdl.photovoltaic.other.HdlResidenceLogic;
+import com.hdl.photovoltaic.other.HdlThreadLogic;
+import com.hdl.photovoltaic.ui.adapter.SearchHistoryAdapter;
+import com.hdl.photovoltaic.ui.adapter.SearchHouseAdapter;
+import com.hdl.photovoltaic.ui.bean.HouseIdBean;
 
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * 鐢电珯鎼滅储鐣岄潰
+ */
 public class HouseSearchActivity extends CustomBaseActivity {
 
+    private ActivityHouseSearchBinding viewBinding;
+
+    SearchHistoryAdapter searchHistoryAdapter;
+    SearchHouseAdapter searchHouseAdapter;
+
+    private List<HouseIdBean> houseListBeanIDList = new ArrayList<>();
+
+    private int currentHouseListPage = 0; // 褰撳墠鐢电珯鍒楄〃椤电爜
+    private int currentHouseListTotal = 0; // 鐢电珯鍒楄〃鎬婚〉鐮�
+    private boolean isHouseLoadingMore = false; // 鏍囪鐢电珯鍒楄〃姝e湪鍔犺浇鏇村鏁版嵁
+
+    private String currSearchText;
+
+    List<String> SearchHistoryTitleList = new ArrayList<>();
 
     @Override
     public Object getContentView() {
-        return null;
+        viewBinding = ActivityHouseSearchBinding.inflate(getLayoutInflater());
+        return viewBinding.getRoot();
     }
 
     @Override
     public void onBindView(Bundle savedInstanceState) {
+        setStatusBarTranslucent();
+        //鍘嗗彶璁板綍鏂囦欢澶瑰垱寤�
+        HdlFileLogic.getInstance().createFileDir(HdlFileLogic.getInstance().getCurrentUserRootPath());
+        //鍒濆鍖栨暟鎹�
+        initData();
+        //鍒濆鍖�
+        initView();
+        //鍒濆鍖栫晫闈㈢洃鍚櫒
+        initEvent();
+    }
 
+    private void initData() {
+        try {
+            String json = HdlFileLogic.getInstance().readFile(getHistoryFileNamePath());
+            if (TextUtils.isEmpty(json)) {
+                return;
+            }
+            SearchHistoryTitleList = new Gson().fromJson(json, new TypeToken<List<String>>() {
+            }.getType());
+        } catch (Exception ignored) {
+        }
+    }
+
+
+    private void initEvent() {
+
+        //鍚庨��
+        viewBinding.backRl.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                finish();
+            }
+        });
+        viewBinding.powerStationSearchEt.addTextChangedListener(textWatcher);
+
+
+        //鎼滅储
+        viewBinding.powerStationSearchTv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                //鎼滅储鍏抽敭瀛�
+                currSearchText = viewBinding.powerStationSearchEt.getText().toString().replace(" ", "");
+                if (TextUtils.isEmpty(currSearchText)) {
+                    HdlThreadLogic.toast(_mActivity, R.string.search_content_null);
+                    return;
+                }
+                viewBinding.historyListParent.setVisibility(View.GONE);
+                viewBinding.listParent.setVisibility(View.VISIBLE);
+                addSearchTextToList();
+                loadNextPageHouseList(true, 1, true);
+            }
+        });
+
+
+        //涓嬫媺绠ご棰滆壊
+        viewBinding.listSrl.setColorSchemeResources(R.color.text_FF245EC3);
+        //涓嬫媺璇诲彇
+        viewBinding.listSrl.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
+            @Override
+            public void onRefresh() {
+                viewBinding.listSrl.setRefreshing(false);
+                loadNextPageHouseList(true, 1, true);
+            }
+        });
+        //涓婃媺璇诲彇
+        viewBinding.listRcv.addOnScrollListener(new RecyclerView.OnScrollListener() {
+            @Override
+            public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int 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 (!isHouseLoadingMore) {
+                        // 婊戝姩鍒颁簡搴曢儴锛屾墽琛岀浉搴旂殑鎿嶄綔
+                        HdlLogLogic.print("--->婊戝姩鍒颁簡搴曢儴");
+                        loadNextPageHouseList(false, ++currentHouseListPage, false);
+                    }
+                }
+            }
+        });
+        //娓呴櫎
+        viewBinding.powerStationClearIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                currSearchText = "";
+                viewBinding.powerStationSearchEt.setText("");
+                viewBinding.historyListParent.setVisibility(View.VISIBLE);
+                viewBinding.listParent.setVisibility(View.GONE);
+                searchHistoryAdapter.setList(SearchHistoryTitleList);
+                clearData();
+            }
+        });
+        //鍒犻櫎
+        viewBinding.powerStationDelIv.setOnClickListener(new View.OnClickListener() {
+            @Override
+            public void onClick(View v) {
+                SearchHistoryTitleList = new ArrayList<>();
+                searchHistoryAdapter.setList(SearchHistoryTitleList);
+                HdlFileLogic.getInstance().deleteFile(getHistoryFileNamePath());
+            }
+        });
+        //鍘嗗彶璁板綍鐐瑰嚮浜嬩欢
+        searchHistoryAdapter.setOnclickListener(new SearchHistoryAdapter.OnClickListener() {
+            @Override
+            public void onClick(int position, String title) {
+                viewBinding.powerStationSearchEt.setText(title);
+            }
+        });
+        //鐢电珯鐐瑰嚮鏄簨浠�
+        searchHouseAdapter.setOnclickListener(new SearchHouseAdapter.OnClickListener() {
+            @Override
+            public void onClick(int position, HouseIdBean houseIdBean) {
+
+            }
+        });
+
+    }
+
+    private void initView() {
+        viewBinding.historyListParent.setVisibility(View.VISIBLE);
+        viewBinding.listParent.setVisibility(View.GONE);
+        viewBinding.powerStationClearIv.setVisibility(View.GONE);
+        //鍒濆鍖栧巻鍙茶褰曢�傞厤鍣�
+        searchHistoryAdapter = new SearchHistoryAdapter(_mActivity);
+        viewBinding.historyListRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
+        viewBinding.historyListRcv.setAdapter(searchHistoryAdapter);
+        searchHistoryAdapter.setList(SearchHistoryTitleList);
+        //鍒濆鍖栫數绔欓�傞厤鍣�
+        searchHouseAdapter = new SearchHouseAdapter(_mActivity);
+        viewBinding.listRcv.setLayoutManager(new LinearLayoutManager(_mActivity));
+        viewBinding.listRcv.setAdapter(searchHouseAdapter);
+    }
+
+
+    /**
+     * 杈撳叆鐢电珯鍚嶇О杩涜杩囨护
+     */
+    private final TextWatcher textWatcher = new TextWatcher() {
+        @Override
+        public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+        }
+
+        @Override
+        public void onTextChanged(CharSequence s, int start, int before, int count) {
+        }
+
+        @Override
+        public void afterTextChanged(Editable s) {
+            String et = viewBinding.powerStationSearchEt.getText().toString().replace(" ", "");
+            if (TextUtils.isEmpty(et)) {
+                viewBinding.powerStationClearIv.setVisibility(View.GONE);
+            } else {
+                viewBinding.powerStationClearIv.setVisibility(View.VISIBLE);
+            }
+            viewBinding.powerStationSearchEt.setSelection(viewBinding.powerStationSearchEt.length());
+
+        }
+    };
+
+    /**
+     * 鐗╃悊鎸夐敭杩斿洖浜嬩欢
+     */
+    @Override
+    public void onBackPressed() {
+        super.onBackPressed();
+    }
+
+    @Override
+    protected void onDestroy() {
+        viewBinding.powerStationSearchEt.removeTextChangedListener(textWatcher);
+        if (SearchHistoryTitleList.size() > 0) {
+            HdlFileLogic.getInstance().deleteFile(getHistoryFileNamePath());
+            HdlFileLogic.getInstance().appendFile(getHistoryFileNamePath(), new Gson().toJson(SearchHistoryTitleList));
+        }
+        super.onDestroy();
+    }
+
+    /**
+     * 鍒锋柊UI锛堢數绔欙級
+     *
+     * @param isRefreshing 琛ㄧず鏄笅鎷夊埛鏂扮殑
+     */
+    private void loadNextPageHouseList(boolean isRefreshing, long pageNo, boolean isClear) {
+
+        //鎼滅储鍏抽敭瀛�
+        if (TextUtils.isEmpty(currSearchText)) {
+            return;
+        }
+
+        if (isClear) {
+            clearData();
+        }
+        //绗竴椤佃鍙栨暟鎹己鍒惰鍙�
+        if (pageNo > 1 && currentHouseListPage > currentHouseListTotal) {
+            --currentHouseListPage;
+            //褰撳墠椤典笉鑳藉ぇ浜庢�婚〉鏁�
+            return;
+        }
+        isHouseLoadingMore = true;//鏍囪璇诲彇鐘舵��
+        if (isRefreshing) {
+            showLoading();
+        }
+
+        //鑾峰彇浣忓畢(鐢电珯)ID鍒楄〃
+        HdlResidenceLogic.getInstance().getResidenceIdList(SortType.homeName, currSearchText, pageNo, 20, new CloudCallBeak<HdlResidenceLogic.HouseBeanClass>() {
+            @Override
+            public void onSuccess(HdlResidenceLogic.HouseBeanClass houseBeanClass) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (isRefreshing) {
+                            hideLoading();
+                        }
+                        isHouseLoadingMore = false;
+                        if (houseBeanClass != null) {
+                            currentHouseListTotal = (int) houseBeanClass.getTotalPage();
+                            currentHouseListPage = (int) houseBeanClass.getPageNo();
+                            //鏇存柊缂撳瓨
+                            setHouseIdList(houseBeanClass.getList());
+                            if (searchHouseAdapter != null) {
+                                initData();
+                                //鏇存柊UI
+                                searchHouseAdapter.setList(houseListBeanIDList);
+                            }
+                        }
+                    }
+                }, _mActivity, ShowErrorMode.YES);
+
+            }
+
+            @Override
+            public void onFailure(HDLException e) {
+                HdlThreadLogic.runMainThread(new Runnable() {
+                    @Override
+                    public void run() {
+                        if (currentHouseListPage > 1) {
+                            --currentHouseListPage;
+                        }
+                        isHouseLoadingMore = false;
+                        if (isRefreshing) {
+                            hideLoading();
+                        }
+
+                    }
+                }, _mActivity, ShowErrorMode.YES);
+            }
+        });
+    }
+
+    private void clearData() {
+        if (houseListBeanIDList != null && houseListBeanIDList.size() > 0) {
+            houseListBeanIDList.clear();
+        }
+    }
+
+    public void setHouseIdList(List<HouseIdBean> list) {
+        if (list == null || list.size() == 0) {
+            return;
+        }
+        if (this.houseListBeanIDList.size() == 0) {
+            this.houseListBeanIDList.addAll(list);
+            return;
+        }
+        for (int i = 0; i < list.size(); i++) {
+            this.setSingleHouseId(list.get(i));
+        }
+    }
+
+    /**
+     * 娣诲姞鐢电珯Id鍒板垪琛ㄩ噷闈�
+     *
+     * @param houseIdBean -鐢电珯Id瀵硅薄
+     */
+    public void setSingleHouseId(HouseIdBean houseIdBean) {
+        try {
+            if (houseIdBean == null) {
+                return;
+            }
+            boolean if_boolean = false;
+            for (int i = 0; i < houseListBeanIDList.size(); i++) {
+                if (houseListBeanIDList.get(i).getHomeId().equals(houseIdBean.getHomeId())) {
+                    //瀛樺湪鏇挎崲
+                    houseListBeanIDList.remove(i);
+                    houseListBeanIDList.add(i, houseIdBean);
+                    if_boolean = true;
+                    break;
+                }
+            }
+            if (!if_boolean) {
+                //娌℃湁娣诲姞
+                this.houseListBeanIDList.add(houseIdBean);
+            }
+        } catch (Exception e) {
+            String mes = e.getMessage();
+            HdlLogLogic.print("--->" + mes);
+        }
+    }
+
+    /**
+     * 娣诲姞鍘嗗彶璁板綍
+     */
+    private void addSearchTextToList() {
+        for (int i = 0; i < SearchHistoryTitleList.size(); i++) {
+            if (SearchHistoryTitleList.get(i).equals(currSearchText)) {
+                SearchHistoryTitleList.remove(SearchHistoryTitleList.get(i));
+            }
+        }
+        SearchHistoryTitleList.add(currSearchText);
+        // 鍊掑簭鎺掑垪鏁版嵁(鎼滅储鏈�鍚庢帓鍦ㄥ墠闈�)
+        Collections.reverse(SearchHistoryTitleList);
+        if (SearchHistoryTitleList.size() > 10) {
+            //鍘嗗彶璁板綍涓嶈兘瓒呭嚭10
+            SearchHistoryTitleList.remove(SearchHistoryTitleList.get(11));
+        }
+
+    }
+
+    /**
+     * 鑾峰彇銆愭悳绱㈠巻鍙茶褰曟枃浠躲�戝叏璺緞
+     */
+    public String getHistoryFileNamePath() {
+        return HdlFileLogic.getInstance().getCurrentUserRootPath() + "/house_history.txt";
     }
 }
\ No newline at end of file
diff --git a/app/src/main/res/drawable/history_del.png b/app/src/main/res/drawable/history_del.png
new file mode 100644
index 0000000..6dcdb6a
--- /dev/null
+++ b/app/src/main/res/drawable/history_del.png
Binary files differ
diff --git a/app/src/main/res/drawable/search_back.png b/app/src/main/res/drawable/search_back.png
new file mode 100644
index 0000000..12a6346
--- /dev/null
+++ b/app/src/main/res/drawable/search_back.png
Binary files differ
diff --git a/app/src/main/res/drawable/search_bj_edeff2.xml b/app/src/main/res/drawable/search_bj_ff05000000.xml
similarity index 76%
rename from app/src/main/res/drawable/search_bj_edeff2.xml
rename to app/src/main/res/drawable/search_bj_ff05000000.xml
index 23e1bbe..64685ec 100644
--- a/app/src/main/res/drawable/search_bj_edeff2.xml
+++ b/app/src/main/res/drawable/search_bj_ff05000000.xml
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <shape xmlns:android="http://schemas.android.com/apk/res/android">
     <corners android:radius="@dimen/dp_17" />
-    <solid android:color="@color/text_EDEFF2" />
+    <solid android:color="#05000000" />
 </shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_house_search.xml b/app/src/main/res/layout/activity_house_search.xml
index e4c352c..977d256 100644
--- a/app/src/main/res/layout/activity_house_search.xml
+++ b/app/src/main/res/layout/activity_house_search.xml
@@ -4,6 +4,164 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    android:background="@color/text_F5F7FA"
     tools:context=".ui.powerstation.HouseSearchActivity">
+    <!--鎼滅储-->
+    <RelativeLayout
+        android:id="@+id/power_station_search_cl"
+        android:layout_width="match_parent"
+        android:layout_height="@dimen/dp_35"
+        android:layout_marginTop="@dimen/dp_48"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent">
+
+        <RelativeLayout
+            android:id="@+id/back_rl"
+            android:layout_width="@dimen/dp_50"
+            android:layout_height="match_parent">
+
+            <ImageView
+                android:id="@+id/power_station_back_iv"
+                android:layout_width="@dimen/dp_10"
+                android:layout_height="@dimen/dp_17"
+                android:layout_alignParentStart="true"
+                android:layout_centerVertical="true"
+                android:layout_marginStart="@dimen/dp_16"
+                android:src="@drawable/search_back" />
+        </RelativeLayout>
+
+
+        <RelativeLayout
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:layout_marginStart="@dimen/dp_7"
+            android:layout_marginEnd="@dimen/dp_21"
+            android:layout_toStartOf="@+id/power_station_search_tv"
+            android:layout_toEndOf="@+id/back_rl"
+            android:background="@drawable/search_bj_ff05000000">
+
+            <ImageView
+                android:id="@+id/power_station_search_iv"
+                android:layout_width="@dimen/dp_18"
+                android:layout_height="@dimen/dp_18"
+                android:layout_alignParentStart="true"
+                android:layout_centerVertical="true"
+                android:layout_marginStart="@dimen/dp_13"
+                android:src="@drawable/search_path" />
+
+            <EditText
+                android:id="@+id/power_station_search_et"
+                android:layout_width="0dp"
+                android:layout_height="match_parent"
+                android:layout_alignParentEnd="true"
+                android:layout_centerVertical="true"
+                android:layout_marginStart="@dimen/dp_11"
+                android:layout_marginEnd="@dimen/dp_40"
+                android:layout_toEndOf="@+id/power_station_search_iv"
+                android:background="@null"
+                android:gravity="start|center_vertical"
+                android:hint="Search the power station"
+                android:textColor="@color/text_90000000"
+                android:textColorHint="@color/text_40000000"
+                android:textSize="@dimen/text_14" />
+
+            <ImageView
+                android:id="@+id/power_station_clear_iv"
+                android:layout_width="@dimen/dp_20"
+                android:layout_height="@dimen/dp_20"
+                android:layout_alignParentEnd="true"
+                android:layout_centerVertical="true"
+                android:layout_marginEnd="@dimen/dp_13"
+                android:src="@drawable/clear" />
+        </RelativeLayout>
+
+        <TextView
+            android:id="@+id/power_station_search_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="match_parent"
+            android:layout_alignParentEnd="true"
+            android:layout_centerVertical="true"
+            android:layout_marginEnd="@dimen/dp_21"
+            android:gravity="center"
+            android:text="@string/search"
+            android:textColor="@color/text_90000000"
+            android:textSize="@dimen/text_16" />
+
+
+    </RelativeLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/history_list_parent"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/power_station_search_cl">
+
+        <TextView
+            android:id="@+id/history_list_title_tv"
+            android:layout_width="wrap_content"
+            android:layout_height="@dimen/dp_23"
+            android:layout_marginStart="@dimen/dp_16"
+            android:layout_marginTop="@dimen/dp_23"
+            android:layout_marginEnd="@dimen/dp_21"
+            android:text="@string/history_search"
+            android:textColor="@color/text_90000000"
+            android:textSize="@dimen/text_16"
+            android:textStyle="bold"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <ImageView
+            android:id="@+id/power_station_del_iv"
+            android:layout_width="@dimen/dp_26"
+            android:layout_height="@dimen/dp_26"
+            android:layout_marginTop="@dimen/dp_21"
+            android:layout_marginEnd="@dimen/dp_16"
+            android:src="@drawable/history_del"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/history_list_rcv"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_marginTop="67dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        android:id="@+id/list_parent"
+        android:layout_width="match_parent"
+        android:layout_height="0dp"
+        android:layout_marginTop="@dimen/dp_30"
+        android:visibility="gone"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toBottomOf="@+id/power_station_search_cl">
+
+        <androidx.swiperefreshlayout.widget.SwipeRefreshLayout
+            android:id="@+id/list_srl"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            app:layout_constraintBottom_toBottomOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toTopOf="parent">
+
+            <androidx.recyclerview.widget.RecyclerView
+                android:id="@+id/list_rcv"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent" />
+        </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_house_list.xml b/app/src/main/res/layout/fragment_house_list.xml
index 9ecfa9c..4308a14 100644
--- a/app/src/main/res/layout/fragment_house_list.xml
+++ b/app/src/main/res/layout/fragment_house_list.xml
@@ -91,11 +91,12 @@
                 app:layout_constraintTop_toTopOf="parent">
 
                 <RelativeLayout
+                    android:id="@+id/power_station_search_click_cl"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
                     android:layout_marginEnd="@dimen/dp_17"
                     android:layout_toStartOf="@+id/power_station_default_condition_iv"
-                    android:background="@drawable/search_bj_edeff2">
+                    android:background="@drawable/search_bj_ff05000000">
 
                     <ImageView
                         android:id="@+id/power_station_search_iv"
@@ -443,7 +444,7 @@
                 android:layout_height="@dimen/dp_35"
                 android:layout_marginStart="@dimen/dp_13"
                 android:layout_marginEnd="@dimen/dp_16"
-                android:background="@drawable/search_bj_edeff2"
+                android:background="@drawable/search_bj_ff05000000"
                 app:layout_constraintEnd_toEndOf="parent"
                 app:layout_constraintStart_toStartOf="parent"
                 app:layout_constraintTop_toTopOf="parent">
diff --git a/app/src/main/res/layout/item_history_title.xml b/app/src/main/res/layout/item_history_title.xml
new file mode 100644
index 0000000..4837694
--- /dev/null
+++ b/app/src/main/res/layout/item_history_title.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/dp_51">
+
+    <TextView
+        android:id="@+id/history_title_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_23"
+        android:layout_marginStart="@dimen/dp_16"
+        android:ellipsize="end"
+        android:singleLine="true"
+        android:textColor="@color/text_90000000"
+        android:textSize="@dimen/text_16"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_search_house.xml b/app/src/main/res/layout/item_search_house.xml
new file mode 100644
index 0000000..327170e
--- /dev/null
+++ b/app/src/main/res/layout/item_search_house.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="@dimen/dp_75">
+
+    <ImageView
+        android:id="@+id/power_station_search_iv"
+        android:layout_width="@dimen/dp_18"
+        android:layout_height="@dimen/dp_18"
+        android:layout_marginStart="@dimen/dp_16"
+        android:src="@drawable/search_path"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/power_station_name_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_23"
+        android:layout_marginStart="@dimen/dp_23"
+        android:ellipsize="end"
+        android:singleLine="true"
+        android:textColor="@color/text_90000000"
+        android:textSize="@dimen/text_16"
+        app:layout_constraintStart_toEndOf="@+id/power_station_search_iv"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@+id/power_station_location_tv"
+        android:layout_width="wrap_content"
+        android:layout_height="@dimen/dp_17"
+        android:layout_marginTop="@dimen/dp_7"
+        android:textColor="@color/text_40000000"
+        android:textSize="@dimen/text_12"
+        app:layout_constraintStart_toStartOf="@+id/power_station_name_tv"
+        app:layout_constraintTop_toBottomOf="@+id/power_station_name_tv" />
+
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 80c0478..f94c772 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -276,6 +276,9 @@
     <string name="installed_capacity">瑁呮満瀹归噺</string>
     <string name="generation">鍙戠數閲�</string>
     <string name="station_name">鐢电珯鍚嶇О</string>
+    <string name="search">鎼滅储</string>
+    <string name="history_search">鍘嗗彶鎼滅储</string>
+    <string name="search_content_null">鎼滅储鍐呭涓嶈兘涓虹┖.</string>
 
 
 </resources>
\ No newline at end of file

--
Gitblit v1.8.0