Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
Android 从选择器获取可拖动的切换按钮_Android - Fatal编程技术网

Android 从选择器获取可拖动的切换按钮

Android 从选择器获取可拖动的切换按钮,android,Android,我有一个ToggleButton,它使用选择器在两个图像(选中和未选中)之间进行选择 是否有方法在代码中检索切换按钮的当前可绘制资源(选中/未选中)?我尝试使用ToggleButton.getBackground(),但是这似乎只返回默认的Drawable always。虽然我从未使用过它,但您可能想看看getDrawableState()。它可能有你想要的东西。虽然我从未玩过它,但你可能想看看getDrawableState()。它可能有你想要的东西。我几天前也遇到过同样的情况。。 但我通

我有一个ToggleButton,它使用选择器在两个图像(选中和未选中)之间进行选择



是否有方法在代码中检索切换按钮的当前可绘制资源(选中/未选中)?我尝试使用ToggleButton.getBackground(),但是这似乎只返回默认的Drawable always。

虽然我从未使用过它,但您可能想看看
getDrawableState()
。它可能有你想要的东西。

虽然我从未玩过它,但你可能想看看
getDrawableState()
。它可能有你想要的东西。

我几天前也遇到过同样的情况。。 但我通过将其文本设置为“(开)”,并将其文本设置为“空白”来解决问题。。。 那个点不会出现在那个图像上(可能),因为我的没有。 效果很好
然后检查切换按钮上的文本。

几天前我也遇到了同样的情况。。 但我通过将其文本设置为“(开)”,并将其文本设置为“空白”来解决问题。。。 那个点不会出现在那个图像上(可能),因为我的没有。 效果很好
然后检查切换按钮上的文本。

我知道了怎么做,所以我回答了我自己的问题。:)

显然,可以使用ToggleButton.getBackground()检索当前可绘制文件。getCurrent()


希望能有帮助。

我知道怎么做了,所以我回答了自己的问题。:)

显然,可以使用ToggleButton.getBackground()检索当前可绘制文件。getCurrent()


希望有帮助。

我看了一下,但似乎不知道如何使用返回的int-array[]值来获取可绘制的图形。转储值显示以下3个值(对于处于选中状态的切换按钮),[0]=0x101009d,[1]=0x101009e,[2]=0x10100a0。根据R.attr的说法,它们是“state\u window\u focused”、“state\u enabled”、“state\u checked”,我看了一下,但似乎不知道如何使用返回的int数组[]值来获取可绘制的图形。转储值显示以下3个值(对于处于选中状态的切换按钮),[0]=0x101009d,[1]=0x101009e,[2]=0x10100a0。根据R.attr的说法是“state\u window\u focused”、“state\u enabled”、“state\u checked”。我已经在使用ToggleButton.isChecked()来确定当前状态,并使用它来指定正确的图像。但是,如果可能的话,我希望在不检查状态或其他属性的情况下获取当前图像。因为这“可能”会导致选择器使用的图像之间的断开连接(如果我忘记在任何一个位置更新)。嘿,找到了更好的方法。详细信息请查看下面的答案。我已经在使用ToggleButton.isChecked()确定当前状态,并使用它指定正确的图像。但是,如果可能的话,我希望在不检查状态或其他属性的情况下获取当前图像。因为这“可能”会导致选择器使用的图像之间的断开连接(如果我忘记在任何一个位置更新)。嘿,找到了更好的方法。查看下面的答案以了解详细信息。我确实在进行更多搜索时遇到了这个()问题,并且正在研究如何使用setTag()和getTag()。我确实在进行更多搜索时遇到了这个()问题,并且正在研究如何使用setTag()和getTag()。
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true"
          android:drawable="@drawable/img_piece1" /> <!-- pressed -->
    <item     android:drawable="@drawable/img_piece2" /> <!-- default/unchecked -->
</selector>