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

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一下

(边做项目边持续更新)

猜你喜欢

转载自blog.csdn.net/Diaoliangwang/article/details/49455621