android - 如何有一个可点击和可检查的文本视图

use*_*099 3 android button textview statelist

我想要以下内容: .) 在单击时更改其背景的文本视图 .) 保持该背景直到再次单击

这一切都归结为“可检查”状态,但我无法弄清楚这究竟是如何工作的。这是我用于背景的xml:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

<!-- pressed -->
<item android:drawable="@drawable/menuselected"
android:state_pressed="true" />

<!-- checked -->
<item android:drawable="@drawable/menuselected"
android:state_checked="true" />

<!-- default -->
<item android:drawable="@drawable/transpixel"/>

</selector>
Run Code Online (Sandbox Code Playgroud)

更新:它现在部分工作。我为我的自定义 Textview采用了http://kmansoft.com/2011/01/11/checkable-image-button/ 中的大部分代码。我实际上是这样做的,我也需要单选按钮的功能。现在我可以检查 Textview,但我无法取消选中它。有人明白为什么会这样吗?

Mar*_*nos 8

您可以将 CheckedTextView 与 checkMark null 和您可选择的背景一起使用

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:checkMark="@null"
    android:background="@drawable/selectable"/>
Run Code Online (Sandbox Code Playgroud)

您可以选择

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