【发布时间】:2012-05-19 15:07:27
【问题描述】:
我正在尝试从 SoapObject 获取布尔值,我从使用 Android 中的 kSOAP2 的 Web 服务器的响应中得到...
我已将网络调用的响应保存在 SoapObject 中:
SoapObject sResult = (SoapObject)envelope.bodyIn;
我正在遍历响应并获取值
SoapObject soapresults = (SoapObject)sResult.getProperty(0);
for (int i = 0; i < count; i++)
{
SoapObject mail = (SoapObject)soapresults.getProperty(i);
/*Getting the values here*/
}
邮件 SoapObject 将与此类似:
MessageInstance=anyType{AuthorName=Børnehaven; CreatedAtUtc=2012-04-10T18:30:00;编号=631; MessageBody=Husk i morgen; 收件人=anyType{FullName=null; id=2104535421;读=真; ReadAtUtc=2012-04-10T18:30:00; }; };
我无法获取的唯一值是“IsRead”值,我想将其存储为布尔值...
我尝试了一些方法:
(Boolean)mail.getProperty("IsRead");
((Boolean) mail.getProperty("IsRead")).booleanValue();
但我不断得到:
W/System.err(1283):java.lang.RuntimeException:非法属性: 已读
正确的获取方式是什么?
【问题讨论】:
-
尝试获取属性
Recipient,然后再次循环以获取IsRead属性,就像您为MessageInstance所做的那样。我想你会很容易得到它。