From 0414d9754bc61b5e496930ff184ede647ab4cc3a Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 11 十二月 2020 14:35:10 +0800
Subject: [PATCH] 2020-12-11-1

---
 HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs |  137 +++++++++++++++++
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm             |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs        |  265 ++++++++++++++++----------------
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide                 |    0 
 .vs/HDL_APP_Project/xs/UserPrefs.xml                       |   49 ++++-
 HDL_ON/Entity/FunctionList.cs                              |    2 
 .vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal             |    0 
 HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs        |   17 +-
 8 files changed, 315 insertions(+), 155 deletions(-)

diff --git a/.vs/HDL_APP_Project/xs/UserPrefs.xml b/.vs/HDL_APP_Project/xs/UserPrefs.xml
index 3fe036b..1edff21 100644
--- a/.vs/HDL_APP_Project/xs/UserPrefs.xml
+++ b/.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,20 +1,41 @@
 锘�<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
   <MonoDevelop.Ide.ItemProperties.HDL-ON__iOS PreferredExecutionTarget="MonoDevelop.IPhone.IPhoneSimulatorTarget.D4411691-F5B8-40F4-97C1-964F33115DBC" />
-  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/DAL/Server/HttpUtil.cs">
+  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs">
     <Files>
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="184" Column="58" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Logic.cs" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs" Line="293" Column="79" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicMethod.cs" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddInputType.cs" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TimeTpye.cs" />
-      <File FileName="HDL_ON/Entity/FunctionList.cs" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/Send.cs" />
-      <File FileName="HDL_ON/DAL/Server/HttpUtil.cs" Line="186" Column="99" />
-      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/TipPopView.cs" />
-      <File FileName="HDL_ON/Entity/ResponseEntity/RegionInfoRes.cs" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs" Line="34" Column="69" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/TargetDeviceFunList.cs" Line="486" Column="31" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/FunTypeView.cs" Line="52" Column="45" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/InpOrOutLogicMethod.cs" Line="103" Column="30" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/LogicView/AddOutputInputView.cs" Line="103" Column="11" />
+      <File FileName="HDL_ON/Entity/FunctionList.cs" Line="40" Column="22" />
+      <File FileName="HDL_ON/Entity/FunctionList.cs" Line="613" Column="1" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs" Line="199" Column="14" />
+      <File FileName="HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs" Line="328" Column="72" />
     </Files>
+    <Pads>
+      <Pad Id="ProjectPad">
+        <State name="__root__">
+          <Node name="HDL_APP_Project" expanded="True">
+            <Node name="HDL_ON" expanded="True">
+              <Node name="Entity" expanded="True" />
+              <Node name="UI" expanded="True">
+                <Node name="UI2" expanded="True">
+                  <Node name="3-Intelligence" expanded="True">
+                    <Node name="Automation" expanded="True">
+                      <Node name="LogicView" expanded="True" />
+                      <Node name="PublicInterface.cs" selected="True" />
+                    </Node>
+                  </Node>
+                </Node>
+              </Node>
+            </Node>
+            <Node name="HDL-ON_Android" expanded="True">
+              <Node name="Assets" expanded="True" />
+            </Node>
+          </Node>
+        </State>
+      </Pad>
+    </Pads>
   </MonoDevelop.Ide.Workbench>
   <MonoDevelop.Ide.DebuggingService.PinnedWatches />
   <DisabledProjects>
@@ -23,7 +44,7 @@
     <String>Shared.IOS/Shared.IOS.csproj</String>
   </DisabledProjects>
   <MonoDevelop.Ide.Workspace ActiveConfiguration="Debug" />
-  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.4b65c4650918" />
+  <MonoDevelop.Ide.ItemProperties.HDL-ON__Android PreferredExecutionTarget="Android.364c4b3158493098" />
   <MonoDevelop.Ide.DebuggingService.Breakpoints>
     <BreakpointStore>
       <Breakpoint file="/Users/hdl/Desktop/wjc/HDL_APP_Project/HDL_ON/DAL/Mqtt/MqttClient.cs" relfile="HDL_ON/DAL/Mqtt/MqttClient.cs" line="529" column="1" />
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
index f7a3ae0..3556ce0 100644
--- a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
new file mode 100644
index 0000000..9b0d969
--- /dev/null
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
Binary files differ
diff --git a/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
new file mode 100644
index 0000000..29b7e8b
--- /dev/null
+++ b/.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
Binary files differ
diff --git a/HDL_ON/Entity/FunctionList.cs b/HDL_ON/Entity/FunctionList.cs
index b8c469b..aba9d57 100644
--- a/HDL_ON/Entity/FunctionList.cs
+++ b/HDL_ON/Entity/FunctionList.cs
@@ -193,7 +193,7 @@
         /// </summary>
         public List<Function> GetAllDeviceFunctionList()
         {
-            //if (deviceFunctionList == null)
+            if (deviceFunctionList == null || deviceFunctionList.Count == 0)
             {
                 deviceFunctionList = new List<Function>();
                 deviceFunctionList.AddRange(aCs);
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
index 6e2bd4f..4f2c328 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/AddLogic.cs
@@ -128,12 +128,8 @@
             viewLayout.AddChidren(cyclicTitle.FLayoutView());
             cyclicTitle.btnClick.MouseUpEventHandler += (sender, e) =>
             {
-                FrameLayout fLayout = new FrameLayout
-                {
-                    BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
-                };
-                this.AddChidren(fLayout);
-                DateMethod(fLayout, cyclicTitle.btnText);
+
+                DateMethod(cyclicTitle.btnText);
 
 
             };
@@ -188,7 +184,8 @@
                             LogicMethod.RemoveAllView();
                             MainView.MainShow();
                         }
-                        else {
+                        else
+                        {
                             new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
                         }
 
@@ -204,7 +201,8 @@
                         LogicMethod.RemoveAllView();
                         MainView.MainShow();
                     }
-                    else {
+                    else
+                    {
                         new LogicView.TipPopView().FlashingBox(Language.StringByID(StringId.saveFail));
                     }
                 }
@@ -216,11 +214,14 @@
         /// <summary>
         /// 寰幆鏂瑰紡(姣忓ぉ锛屾瘡鏈堛�傘��)
         /// </summary>
-        /// <param name="fLayout">寮规涓绘帶浠�</param>
         /// <param name="button">鏄剧ず鏂囨湰</param>
-        public void DateMethod(FrameLayout fLayout, Button button)
+        public void DateMethod(Button button)
         {
-
+            FrameLayout fLayout = new FrameLayout
+            {
+                BackgroundColor = CSS.CSS_Color.viewTrans60lucence,
+            };
+            this.AddChidren(fLayout);
             LogicView.DateView dateView = new LogicView.DateView();
             dateView.btnTitle.TextID = StringId.cyclic;
             dateView.FLayoutView(fLayout, 4);
@@ -232,7 +233,7 @@
             //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
             string weekName = "";
             //瀹氫箟涓�涓眬閮˙tn鐢ㄦ潵璁板綍閫変腑Btn;
-            var selecetdBtn = new Button() { Text=""};
+            var selecetdBtn = new Button() { Text = "" };
             for (int i = 0; i < 4; i++)
             {
                 LogicView.SelectTypeView dateTypeView = new LogicView.SelectTypeView();
@@ -326,12 +327,6 @@
             //纭畾淇濆瓨
             dateView.btnConfirm.MouseUpEventHandler += (sender3, e3) =>
             {
-                if (selecetdBtn.Text == Language.StringByID(StringId.monthly)|| selecetdBtn.Text == Language.StringByID(StringId.weekly)) {
-                    //鎻愮ず锛氳繕鏈��
-                    return;
-
-                }
-
                 if (selecetdBtn.Text == Language.StringByID(StringId.performA))
                 {
                     //鎵ц涓�娆�
@@ -342,6 +337,11 @@
                     //姣忓ぉ
                     Logic.currlogic.cycle.type = "day";
 
+                }
+                else
+                {
+                    //鎻愮ず锛氳繕鏈��
+                    return;
                 }
                 //閫変腑淇濆瓨涔嬪悗鏄剧ず鏂囨湰
                 button.Text = selecetdBtn.Text;
@@ -356,125 +356,35 @@
         /// <param name="button">鏄剧ず鏂囨湰</param>
         public void WeekMethod(FrameLayout fLayout, Button button)
         {
-
-            LogicView.DateView weekView = new LogicView.DateView();
-            weekView.btnTitle.TextID = StringId.cyclic;
-            weekView.FLayoutView(fLayout, 7);
-            weekView.btnCancel.MouseUpEventHandler += (sender2, e2) =>
-            {
-                weekView.frameLayout.RemoveFromParent();
+            List<string> weekStr = new List<string> {
+             Language.StringByID(StringId.monday),
+             Language.StringByID(StringId.tuesday),
+             Language.StringByID(StringId.wednesday),
+             Language.StringByID(StringId.thursday),
+             Language.StringByID(StringId.friday),
+             Language.StringByID(StringId.saturday),
+             Language.StringByID(StringId.sunday),
             };
+
             //瀹氫箟涓�涓眬閮╳eekList鍒楄〃鐢ㄦ潵璁板綍閫変腑鏁版嵁;
-            List<string> weekList = new List<string>();
+            List<string> weekStateList = new List<string>();
+            weekStateList.Clear();
             if (Logic.currlogic.cycle.type == "week")
             {
+                var list = GetWeekString(Logic.currlogic.cycle.value, "int");
                 //鍔犺浇涔嬪墠淇濆瓨鐨勬暟鎹�
-                weekList.AddRange(Logic.currlogic.cycle.value);
+                weekStateList.AddRange(list);
             }
-            //瀹氫箟涓�涓眬閮ㄥ彉閲忚褰曢�変腑鏂囨湰鐘舵��
-            string weekName = "";
-            for (int i = 0; i < 7; i++)
-            {
-                LogicView.SelectTypeView weekTypeView = new LogicView.SelectTypeView();
-                weekTypeView.frameLayout.BackgroundColor = CSS.CSS_Color.viewTranslucence;
-                weekTypeView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
-                weekTypeView.btnIcon.Visible = false;
-                weekTypeView.btnText.X = Application.GetRealWidth(20);
-                weekTypeView.btnLine.X = Application.GetRealWidth(20);
-                weekTypeView.btnLine.Width = Application.GetRealWidth(303);
-                weekTypeView.btnNextIcon.X = Application.GetRealWidth(303);
-                weekTypeView.btnNextIcon.Width = Application.GetRealWidth(28);
-                weekTypeView.btnNextIcon.Height = Application.GetRealWidth(28);
-                weekTypeView.btnNextIcon.UnSelectedImagePath = "LogicIcon/weekoff.png";
-                weekTypeView.btnNextIcon.SelectedImagePath = "LogicIcon/weekon.png";
-                weekView.frameLayout.AddChidren(weekTypeView.FLayoutView());
-                weekTypeView.btnClick.Tag = i;//鏍囪绱㈠紩
-                switch (i)
-                {
-                    case 0:
-                        {
-                            weekName = Language.StringByID(StringId.monday);
-                        }
-                        break;
-                    case 1:
-                        {
-                            weekName = Language.StringByID(StringId.tuesday);
-                        }
-                        break;
-                    case 2:
-                        {
-                            weekName = Language.StringByID(StringId.wednesday);
-                        }
-                        break;
-                    case 3:
-                        {
-                            weekName = Language.StringByID(StringId.thursday);
-                        }
-                        break;
-                    case 4:
-                        {
-                            weekName = Language.StringByID(StringId.friday);
-                        }
-                        break;
-                    case 5:
-                        {
-                            weekName = Language.StringByID(StringId.saturday);
-                        }
-                        break;
-                    case 6:
-                        {
-                            weekName = Language.StringByID(StringId.sunday);
-                        }
-                        break;
+            PublicInterface weekView = new PublicInterface();
+            weekView.MultiSelectShow(fLayout, weekStr, Language.StringByID(StringId.cyclic), weekStateList
+               , (list) =>
+               {
+                   var statelist = GetWeekString(list, "str");
+                   Logic.currlogic.cycle.type = "week";
+                   Logic.currlogic.cycle.value = statelist;
+                   button.Text = MainView.GetWeekString(statelist);
 
-                }
-                weekTypeView.btnText.Text = weekName;
-                if (weekList.Contains(i.ToString()))
-                {
-                    //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
-                    weekTypeView.btnNextIcon.IsSelected = true;
-                }
-                //鏄熸湡鐨勭偣鍑讳簨浠�
-                weekTypeView.btnClick.MouseUpEventHandler += (sender, e) =>
-                {
-                    string clickIndex = weekTypeView.btnClick.Tag.ToString();
-                    weekTypeView.btnClick.IsSelected = !weekTypeView.btnClick.IsSelected;
-                    if (weekTypeView.btnClick.IsSelected)
-                    {
-                        weekTypeView.btnNextIcon.IsSelected = true;
-                        if (!weekList.Contains(clickIndex))
-                        {
-                            //娣诲姞閫変腑鏁版嵁
-                            weekList.Add(clickIndex);
-                        }
-                    }
-                    else
-                    {
-                        weekTypeView.btnNextIcon.IsSelected = false;
-                        if (weekList.Contains(clickIndex))
-                        {
-                            //绉婚櫎閫変腑鏁版嵁
-                            weekList.Remove(clickIndex);
-                        }
-                    }
-
-                };
-
-            }
-            //纭畾鐐瑰嚮浜嬩欢
-            weekView.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
-            {
-                if (weekList.Count == 0)
-                {
-                    //鎻愮ず锛氳繕娌¢�変腑鎵ц鍛ㄦ湡
-                    return;
-                }
-                Logic.currlogic.cycle.type = "week";
-                Logic.currlogic.cycle.value = weekList;
-                button.Text = MainView.GetWeekString(weekList);
-                fLayout.RemoveFromParent();
-            };
-
+               });
         }
         /// <summary>
         /// 姣忔湀
@@ -556,7 +466,8 @@
                     }
                 };
 
-                if (monList.Contains(i.ToString())) {
+                if (monList.Contains(i.ToString()))
+                {
                     monTextBtn.IsSelected = true;
                 }
             }
@@ -581,6 +492,8 @@
         /// <param name="button">鏄剧ず鏂囨湰</param>
         public void AndOrMethod(FrameLayout fLayout, Button button)
         {
+           
+
             LogicView.DateView meetTheConditionView = new LogicView.DateView();
             meetTheConditionView.btnTitle.TextID = StringId.meetTheCondition;
             meetTheConditionView.FLayoutView(fLayout, 2);
@@ -666,7 +579,97 @@
             };
 
         }
+        /// <summary>
+        /// 鏄熸湡鍛ㄦ湡杞崲鍊肩殑鏂规硶
+        /// </summary>
+        /// <param name="list"></param>
+        /// <param name="str_or_int"></param>
+        /// <returns></returns>
+        public List<string> GetWeekString(List<string> list, string str_or_int)
+        {
+            string weekTextName = "";
+            List<string> stateList = new List<string>();
+            for (int i = 0; i < list.Count; i++)
+            {
+                var s = list[i];
+                if (str_or_int == "int")
+                {
+                    switch (s)
+                    {
+                        case "1":
+                            {
+                                weekTextName = Language.StringByID(StringId.monday);
+                            }
+                            break;
+                        case "2":
+                            {
+                                weekTextName = Language.StringByID(StringId.tuesday);
+                            }
+                            break;
+                        case "3":
+                            {
+                                weekTextName = Language.StringByID(StringId.wednesday);
+                            }
+                            break;
+                        case "4":
+                            {
+                                weekTextName = Language.StringByID(StringId.thursday);
+                            }
+                            break;
+                        case "5":
+                            {
+                                weekTextName = Language.StringByID(StringId.friday);
+                            }
+                            break;
+                        case "6":
+                            {
+                                weekTextName = Language.StringByID(StringId.saturday);
+                            }
+                            break;
+                        case "0":
+                            {
+                                weekTextName = Language.StringByID(StringId.sunday);
+                            }
+                            break;
+                    }
 
+                }
+                else
+                {
+                    if (Language.StringByID(StringId.monday) == s)
+                    {
+                        weekTextName = "1";
+                    }
+                    else if (Language.StringByID(StringId.tuesday) == s)
+                    {
+                        weekTextName = "2";
+                    }
+                    else if (Language.StringByID(StringId.wednesday) == s)
+                    {
+                        weekTextName = "3";
+                    }
+                    else if (Language.StringByID(StringId.thursday) == s)
+                    {
+                        weekTextName = "4";
+                    }
+                    else if (Language.StringByID(StringId.friday) == s)
+                    {
+                        weekTextName = "5";
+                    }
+                    else if (Language.StringByID(StringId.saturday) == s)
+                    {
+                        weekTextName = "6";
+                    }
+                    else if (Language.StringByID(StringId.sunday) == s)
+                    {
+                        weekTextName = "0";
+                    }
+                }
+                stateList.Add(weekTextName);
 
+            }
+
+            return stateList;
+        }
     }
 }
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
index cf31198..2b375d9 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/MainView.cs
@@ -165,32 +165,31 @@
         public static string GetWeekString(List<string> weekList)
         {
             string weekTextName = "";
-
-            if (weekList.Contains("0"))
+            if (weekList.Contains("1"))
             {
                 weekTextName += Language.StringByID(StringId.monday) + ",";
             }
-            if (weekList.Contains("1"))
+            if (weekList.Contains("2"))
             {
                 weekTextName += Language.StringByID(StringId.tuesday) + ",";
             }
-            if (weekList.Contains("2"))
+            if (weekList.Contains("3"))
             {
                 weekTextName += Language.StringByID(StringId.wednesday) + ",";
             }
-            if (weekList.Contains("3"))
+            if (weekList.Contains("4"))
             {
                 weekTextName += Language.StringByID(StringId.thursday) + ",";
             }
-            if (weekList.Contains("4"))
+            if (weekList.Contains("5"))
             {
                 weekTextName += Language.StringByID(StringId.friday) + ",";
             }
-            if (weekList.Contains("5"))
+            if (weekList.Contains("6"))
             {
                 weekTextName += Language.StringByID(StringId.saturday) + ",";
             }
-            if (weekList.Contains("6"))
+            if (weekList.Contains("0"))
             {
                 weekTextName += Language.StringByID(StringId.sunday) + ",";
             }
@@ -200,6 +199,8 @@
             }
             return weekTextName.TrimEnd(',');
         }
+
+
         /// <summary>
         /// 鑾峰彇姣忔湀鐨勫瓧绗︿覆
         /// </summary>
diff --git a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
index ae55422..b72d257 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Automation/PublicInterface.cs
@@ -1,10 +1,145 @@
 锘縰sing System;
+using System.Collections.Generic;
+using Shared;
 namespace HDL_ON.UI.UI2.Intelligence.Automation
 {
     public class PublicInterface
     {
-        public PublicInterface()
+        /// <summary>
+        /// 鍗曢�夋嫨
+        /// </summary>
+        /// <param name="frameLayout">鐖舵帶浠�</param>
+        /// <param name="list">鏄剧ず鏁版嵁婧�</param>
+        /// <param name="titleText"></param>
+        /// <param name="stateText">涔嬪墠鐘舵�佹枃鏈�</param>
+        /// <param name="action">杩斿洖鍊�</param>
+        public void SingleSelectionShow(FrameLayout frameLayout, List<string> list, string titleText, string stateText, Action<string> action)
         {
+            LogicView.DateView view = new LogicView.DateView();
+            view.btnTitle.Text = titleText;
+            view.FLayoutView(frameLayout, list.Count);
+            view.btnCancel.MouseUpEventHandler += (sender, e) =>
+            {
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+            ///瀹氫箟涓�涓狟tn璁板綍閫変腑鐘舵��
+            Button checkBtn = new Button
+            {
+                Tag = "unknown",
+            };
+            for (int i = 0; i < list.Count; i++)
+            {
+                string str = list[i];
+                LogicView.CheckView checkView = new LogicView.CheckView();
+                checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+                view.frameLayout.AddChidren(checkView.FLayoutView());
+                checkView.btnText.Text = str;
+                checkView.btnClick.Tag = str;//鏍囪
+
+                if (stateText == str)
+                {
+                    //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
+                    checkBtn.IsSelected = false;
+                    checkView.btnCheckIcon.IsSelected = true;
+                    checkBtn = checkView.btnCheckIcon;
+                    checkBtn.Tag = checkView.btnClick.Tag.ToString();
+                }
+                //鐐瑰嚮浜嬩欢
+                checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
+                {
+                    checkBtn.IsSelected = false;
+                    checkView.btnCheckIcon.IsSelected = true;
+                    checkBtn = checkView.btnCheckIcon;
+                    checkBtn.Tag = checkView.btnClick.Tag.ToString();
+                };
+
+            }
+            view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+            {
+                if (checkBtn.Tag.ToString() == "unknown")
+                {
+                    return;
+                }
+                action(checkBtn.Tag.ToString());
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+
         }
+        /// <summary>
+        /// 澶氶�夋嫨
+        /// </summary>
+        /// <param name="frameLayout">鐖舵帶浠�</param>
+        /// <param name="list">鏄剧ず鏁版嵁婧�</param>
+        /// <param name="titleText"></param>
+        /// <param name="stateTextList">涔嬪墠鐘舵�佹枃鏈�</param>
+        /// <param name="action">杩斿洖鍊�</param>
+        public void MultiSelectShow(FrameLayout frameLayout, List<string> list, string titleText, List<string> stateTextList, Action<List<string>> action)
+        {
+            LogicView.DateView view = new LogicView.DateView();
+            view.btnTitle.Text = titleText;
+            view.FLayoutView(frameLayout, list.Count);
+            view.btnCancel.MouseUpEventHandler += (sender, e) =>
+            {
+                //绉婚櫎fLayout鐣岄潰
+                view.frameLayout.RemoveFromParent();
+            };
+            for (int i = 0; i < list.Count; i++)
+            {
+                string str = list[i];
+                LogicView.CheckView checkView = new LogicView.CheckView();
+                checkView.frameLayout.Y = Application.GetRealHeight(56 + 50 * i);
+                view.frameLayout.AddChidren(checkView.FLayoutView());
+                checkView.btnText.Text = str;
+                checkView.btnClick.Tag = str;//鏍囪
+
+                if (stateTextList.Contains(str))
+                {
+                    //鏄剧ず涔嬪墠鐨勯�変腑鐘舵��
+                    checkView.btnCheckIcon.IsSelected = true;
+                }
+                //鐐瑰嚮浜嬩欢
+                checkView.btnClick.MouseUpEventHandler += (sender1, e1) =>
+                {
+
+                    string clickIndex = checkView.btnClick.Tag.ToString();
+                    checkView.btnClick.IsSelected = !checkView.btnClick.IsSelected;
+                    if (checkView.btnClick.IsSelected)
+                    {
+                        checkView.btnCheckIcon.IsSelected = true;
+                        if (!stateTextList.Contains(clickIndex))
+                        {
+                            //娣诲姞閫変腑鏁版嵁
+                            stateTextList.Add(clickIndex);
+                        }
+                    }
+                    else
+                    {
+                        checkView.btnCheckIcon.IsSelected = false;
+                        if (stateTextList.Contains(clickIndex))
+                        {
+                            //绉婚櫎閫変腑鏁版嵁
+                            stateTextList.Remove(clickIndex);
+                        }
+                    }
+
+                };
+
+            }
+            view.btnConfirm.MouseUpEventHandler += (sender1, e1) =>
+            {
+                if (stateTextList.Count == 0)
+                {
+                    return;
+                }
+                action(stateTextList);
+                //绉婚櫎fLayout鐣岄潰
+                frameLayout.RemoveFromParent();
+            };
+
+        }
+
+
     }
 }

--
Gitblit v1.8.0