gpt4 book ai didi

java - 自定义 ToggleButton setChecked(..) 问题

转载 作者:行者123 更新时间:2023-12-01 04:30:31 25 4
gpt4 key购买 nike

将切换按钮设置为选中状态后,每次我单击它时,它都会处于相同的状态。

自定义选择器:

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/list_view_icon" android:state_checked="true" 
android:state_pressed="true" android:state_enabled="true"/>
<item android:drawable="@drawable/list_view_icon" android:state_checked="true"
android:state_focused="false" android:state_enabled="true"/>

<item android:drawable="@drawable/map_view_icon" android:state_checked="false"
android:state_pressed="true" android:state_enabled="true"/>
<item android:drawable="@drawable/map_view_icon" android:state_checked="false"
android:state_focused="false" android:state_enabled="true"/>

切换按钮:

<ToggleButton 
android:id="@+id/toggle_button_map_or_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/custom_selector"
android:textOn=""
android:textOff=""
android:background="@drawable/map_view_icon"
/>

java代码:

在按钮 onClick 监听器中,isChecked总是假的

boolean isChecked = ((ToggleButton) view).isChecked();      

Log.i(TAG, "isChecked : "+isChecked);
// **its always false and image also not changing.**

请提出这里有什么问题。

我查看了this回答了,但没有用。

编辑:我做了一个具有相同场景的示例项目。它工作正常,但在我的项目 Fragment 中,它的行为有所不同。

最佳答案

这是给你的:

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/list_view_icon"
android:state_checked="true" />

<item android:drawable="@drawable/map_view_icon"
android:state_checked="false" />

您为不同的状态设置了很多条件,这就是导致问题的原因(有关详细信息,请参阅 here)。

根据您的编辑:

<ToggleButton 
android:id="@+id/toggle_button_map_or_list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/custom_selector"
android:textOn=""
android:textOff=""
android:background="@drawable/selector_name"
/>

这将为您解决问题肯定!您直接使用 map 图标,而无需通过选择器。

关于java - 自定义 ToggleButton setChecked(..) 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18018380/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com