关于自定义Switch碰到的各种问题汇总

在尝试使用原生Switch控件时遇到id命名错误,由于'switch'是关键字,导致冲突。错误不仅限于Switch控件,其他如TextView也会报同样错误。解决方案是避免使用关键字作为id命名,选择与关键字不冲突的名字。这可能是由于Java或C++关键字限制在id命名中所致。
摘要由CSDN通过智能技术生成

1、使用原生控件出现错误error: invalid symbol: 'switch'

在自定义前,先用一下原生的Switch控件,xml代码如下:

    <Switch 
        android:id="@+id/switch"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"/>

报错原因:id命名不能用switch,哪怕是把s大写都可以,应该是为了防止关键字冲突做的设定。尝试给其他控件命名为switch,发现还是报同样的错。例如

    <TextView android:id="@+id/switch"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:text="@string/app_name"/>


解决办法:换个和关键字不冲突的名字就可以了。

总结:猜想了一下,估计是java关键字或者C++关键字都不能用在id命名里,于是测试了一下,看来猜对了,以前做项目倒是都是按业务逻辑命名,偶然发现,mark一下

(边做项目边持续更新)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值