Android中XML按钮禁用异常:给string加enabled属性仍可点击
问题分析与解决:通过strings.xml无法禁用按钮的原因及正确做法
为什么你的方法没用?
<string>标签的android:enabled属性和按钮状态完全无关,它是控制字符串资源本身是否可被引用的开关,不影响按钮的可点击性。- 你代码里的
android:visable是拼写错误(正确是visible),而且这个属性本来就不属于<string>标签,就算写对了也不会生效。
正确禁用按钮的两种方式
1. 在布局XML中直接设置
在Button的标签里添加android:enabled="false",示例:
<Button android:id="@+id/btn_close" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/Close" android:enabled="false" />
2. 在代码中动态控制
如果需要根据逻辑动态禁用/启用按钮,可以在Activity或Fragment里写:
Kotlin 示例
val closeBtn = findViewById<Button>(R.id.btn_close) closeBtn.isEnabled = false
Java 示例
Button closeBtn = findViewById(R.id.btn_close); closeBtn.setEnabled(false);
内容的提问来源于stack exchange,提问作者CorePack
相关产品推荐
相关产品推荐

