2011-02-07 87 views
0

我已经创建了一个自定义按钮,如下所示。Android中的自定义按钮未保存状态

文件: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的按钮

感谢

回答

0

我通过改变机器人制作切换按钮的工作:state_pressed =“true”以机器人:state_checked =“真”。

但问题仍然存在于Button中。如何让按钮做类似的活动?特别是当有超过2个州时。

0

标准Button没有持久状态的概念。您必须创建一个跟踪各种状态的Button自定义实现。对不起,但是没有办法。