安卓state_checked改变颜色点击之后没有效果
时间: 2023-07-29 16:06:01 浏览: 51
如果设置了 `state_checked` 但是点击后没有效果,可能是因为您没有在代码中设置 View 的 `setClickable(true)` 或者 `setFocusable(true)`,或者没有给它设置 `OnClickListener`。
您可以尝试在代码中设置 View 的 `setClickable(true)` 或者 `setFocusable(true)`,或者在布局文件中为 View 添加 `android:clickable="true"` 或者 `android:focusable="true"` 属性,以确保 View 可以响应点击事件。
同时,您需要给 View 设置一个 `OnClickListener`,在 `onClick()` 方法中根据 View 的 `isChecked()` 方法来判断当前是否选中了该 View,然后执行相应的逻辑。例如:
```
yourView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
v.setSelected(!v.isSelected());
}
});
```
在以上代码中,`v.isSelected()` 方法用于判断当前 View 是否被选中。如果 View 被选中,返回 `true`,否则返回 `false`。`v.setSelected()` 方法用于设置 View 的选中状态。如果参数为 `true`,则表示选中该 View,否则表示取消选中。您可以根据需要自定义选中和非选中状态下的逻辑,同时在布局文件中使用 Selector Drawable 设置不同状态下的颜色即可。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)