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一下
,
(边做项目边持续更新)