Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从当前主题的自定义布尔属性中获取布尔值?_Java_Android_Material Design_Android Theme - Fatal编程技术网

Java 如何从当前主题的自定义布尔属性中获取布尔值?

Java 如何从当前主题的自定义布尔属性中获取布尔值?,java,android,material-design,android-theme,Java,Android,Material Design,Android Theme,我正在我的主题中设置布尔格式的自定义属性 <attr name="isCompound" format="boolean" /> 我得到一个错误,typedValue.data(int)无法转换为布尔值。我的问题是如何从当前主题中获得布尔值?感谢@Mike M.的评论 Blockquote“数据字段包含最初指定为“false”或“true”的0或1。” 文档说它返回1表示真,返回0表示假。但是当我测试时,它返回-1表示真,0表示假 我想,安全的方法是检查false。感谢@Mike

我正在我的主题中设置布尔格式的自定义属性

<attr name="isCompound" format="boolean" />

我得到一个错误,typedValue.data(int)无法转换为布尔值。我的问题是如何从当前主题中获得布尔值?

感谢@Mike M.的评论

Blockquote“数据字段包含最初指定为“false”或“true”的0或1。”

文档说它返回1表示真,返回0表示假。但是当我测试时,它返回-1表示真,0表示假


我想,安全的方法是检查false。

感谢@Mike M.的评论

Blockquote“数据字段包含最初指定为“false”或“true”的0或1。”

文档说它返回1表示真,返回0表示假。但是当我测试时,它返回-1表示真,0表示假


我想,安全的方法是检查false。

“数据字段包含0或1,它们最初被指定为“false”或“true”。–.Hmm,不过我得到了意想不到的结果。一定要测试一下。我不确定我是否只是在测试中做了一些愚蠢的事情,或者是其他的事情……“数据字段包含0或1,它们最初被指定为“false”或“true”。–。嗯,不过,我得到了意想不到的结果。一定要测试一下。我不确定我是否只是在测试中做了一些愚蠢的事情,或者是其他的事情……也就是我的发现。而且,看看一些框架源代码示例,它们也是这样做的;检查是否存在错误。您可能还需要检查
resolveAttribute()
调用的返回。它返回一个
布尔值
,指示它是否可以解析属性。仅供参考。无需检查返回的布尔值,因为默认值为false对不起,我应该用不同的措辞。我的意思是,如果需要知道在给定主题中是否已显式设置了
isCompound
,您可能需要检查一下。我不确定你的确切要求,也不确定我的发现。而且,看看一些框架源代码示例,它们也是这样做的;检查是否存在错误。您可能还需要检查
resolveAttribute()
调用的返回。它返回一个
布尔值
,指示它是否可以解析属性。仅供参考。无需检查返回的布尔值,因为默认值为false对不起,我应该用不同的措辞。我的意思是,如果需要知道在给定主题中是否已显式设置了
isCompound
,您可能需要检查一下。我不确定你的确切要求。
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(R.attr.isCompound, typedValue, true);
if(typedValue.data) {
    ...
}