小编vij*_*arg的帖子

带有自定义属性的Android selector.xml抛出XmlPullParserException

我使用自定义属性遇到了问题.请帮忙..

我在attr.xml中定义了自定义属性

<attr format="reference" name="btnPressed" />
<attr format="reference" name="btnNormal" />
Run Code Online (Sandbox Code Playgroud)

我有一个主题

<style name="MyTheme" parent="@style/Theme.Sherlock.Light.NoActionBar">
   <item name="btnPressed">@drawable/fav_icon</item>
   <item name="btnNormal">@drawable/not_fav_icon</item>
</style>
Run Code Online (Sandbox Code Playgroud)

在上面的fav_icon和not_fav_icon是我的图像.

我有一个为切换按钮定义的选择器favorite_btn.xml.

<selector xmlns:android="http://schemas.android.com/apk/res/android">   
    <item android:state_checked="true" android:drawable="?attr/btnPressed"/> 
    <item android:state_checked="false" android:drawable="?attr/btnNormal"/> 
    <item android:drawable="?attr/btnNormal"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

现在我将选择器设置为我的切换按钮.

        <ToggleButton
            android:id="@+id/station_fav_star"
            android:layout_width="42dip"
            android:layout_height="42dip"
            android:background="@drawable/favorite_btn"
            android:textOff=""
            android:textOn="" />
Run Code Online (Sandbox Code Playgroud)

我正在将这个主题应用到我的活动中.但我正在获得Xml Parse Exception,如下所述.

引起:org.xmlpull.v1.XmlPullParserException:二进制XML文件行#11:标记需要一个'drawable'属性或定义drawable的子标记

我正在使用相同的方法使用自定义属性将图像设置为普通按钮,它正在工作.但是当在选择器中定义自定义属性时,它不起作用.

如果我遗失任何东西,请告诉我.

我已经检查过此链接 Android颜色选择器不适用于自定义属性

因为它表示颜色变化.就我而言,它们是可绘制的.如果还有其他方法,请提出解决方案.

提前致谢..

android android-layout android-xml android-theme

5
推荐指数
1
解决办法
1669
查看次数

为什么在启用NSZombie时我会看到所有这些泄漏?

我的第一个应用程序即将完成,我突然发现该应用程序导致内存泄漏.我发现了一些泄漏并修复了它们.现在没有泄漏,但令我惊讶的是,当NSZombie启用时,它显示超过4000个泄漏,主要来自框架.

我对NSZombie的确切用法感到困惑.它只用于寻找僵尸还是以任何方式找到泄漏?

这是一个屏幕截图,显示了与框架相关的所有泄漏:

泄漏的屏幕截图

memory-leaks ios nszombieenabled

4
推荐指数
1
解决办法
846
查看次数