【问题标题】:Custom Button in Android not saving stateAndroid中的自定义按钮不保存状态
【发布时间】:2011-02-07 13:33:00
【问题描述】:

我创建了一个自定义按钮,如下所示。

文件:buttoncontrol.xml

<?xml version="1.0" encoding="utf-8"?>
<selector
    xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/greendot"
          android:state_pressed="true" />
    <item android:drawable="@drawable/reddot" />
</selector>

在布局文件中..我用过

    <Button
     ...
        android:background="@drawable/buttoncontrol"></Button>

当我尝试运行程序时,布局显示带有红点的按钮(预期结果)。当我按下按钮时,它会变成绿色,直到我松开按键。在下一次点击之前,我怎样才能使它变成绿色。更多的切换行为。

我也在切换按钮中尝试了相同的 xml 文件。结果相同。

除此之外(用于测试),我还尝试在活动中添加以下代码。仍然没有得到想要的结果。 (这是保存状态)

...under onClick of  Button/ToggleButton
buttonControl.setPressed(true);

有什么建议吗?我的偏好是避免以编程方式控制状态。即我可以始终保留这些图像并使用 buttonContol.setBackgroundDrawable 作为按钮

谢谢

【问题讨论】:

    标签: android android-widget android-layout


    【解决方案1】:

    我通过将 android:state_pressed="true" 更改为 android:state_checked="true" 来使 ToggleButton 工作。

    但问题仍然存在于 Button。如何让按钮做类似的活动?尤其是当状态超过 2 个时。

    【讨论】:

      【解决方案2】:

      标准按钮没有持久状态的概念。您必须创建一个自定义的 Button 实现来跟踪各种状态。抱歉,没有办法解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-21
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多