切换状态不改变setChecked无效

时间:2015-12-22 09:18:04

标签: android

我正在使用MQTT Client处理应用程序,在消息接收上我想要更改交换机的状态。

关于MQTT messageArrived我试图做<TextBox ID="txtDateofBirth" runat="server" Width="120" CssClass="form-control" MaxLength="10" placeholder="MM/DD/YYYY" onblur="javascript: ValidateDate(this);" onkeypress="return IsNumeric(event, this);" ondrop="return false;" onpaste="return false;"></asp:TextBox> <asp:CompareValidator ID="CompareValidator1" runat="server" ErrorMessage="You must enter a valid Date Of Birth" Display="Dynamic" ControlToValidate="txtDateofBirth" Operator="DataTypeCheck" Type="Date" ForeColor="Red" ValidationGroup="Validations">!</asp:CompareValidator> <asp:CompareValidator ID="cmpDateOfBirth" runat="server" ErrorMessage="Entered Date Of Birth must be greater than 20 years" Display="Dynamic" ControlToValidate="txtDateofBirth" Operator="LessThanEqual" ValueToCompare='<%# DateTime.Now.Subtract(TimeSpan.FromDays(7300)) %>' Type="Date" ForeColor="Red" ValidationGroup="Validations">!</asp:CompareValidator> <asp:RequiredFieldValidator ID="rfvDateofBirth" runat="server" ErrorMessage="Please Enter Date of Birth" ValidationGroup="Validations" ControlToValidate="txtDateofBirth" ForeColor="#CC0000" Display="Dynamic">!</asp:RequiredFieldValidator> <asp:ImageButton ID="imgDateofBirth" TabIndex="4" ImageUrl="~/Images/calendar.png" AlternateText="Click here to display Calendar" runat="server" CausesValidation="False" /> <ajaxcontrol:CalendarExtender ID="CEDateofBirth" runat="server" FirstDayOfWeek="Monday" Format="MM/dd/yyyy" TargetControlID="txtDateofBirth" PopupButtonID="imgDateofBirth"> </ajaxcontrol:CalendarExtender> 但是它不起作用没有效果,我的意思是没有任何改变而且

  

我没有看到下一行Log.i(TAG,&#34; DONE&#34;);被执行了

我没有看到任何例外。不知道那里发生了什么!?

  

swLED.getText()显示切换文本,这意味着swLED没问题   这里   但仍然是swLED.setChecked(true);没有效果

swLED.setChecked(true);

1 个答案:

答案 0 :(得分:2)

要更改UI元素,您需要使用runOnUiThread方法。

所有在其他线程上更新的尝试都会抛出异常,这就是您没有看到日志代码运行的原因