最近在开发中遇到一个问题,在一个项目下的module里,不同的xml下使用了相同的SeekBar名字,也就是id是相同的,然后添加监听事件发现没反应,。
这时候喝口水压压惊,脑袋飘过很久很久很久以前module里不能使用switch-case语句的问题。
在工程里我们都知道不同xml下的控件id名字就算相同也没啥问题,因为我们知道每个控件id都会被声明为final,也就是唯一的,例如
public static final int seekbar=0x7f0b006e;
但是在module中控件id却没有声明为final,也就是不具有唯一的性质,例如
public static int seekBarStyle = 0x7f0100ba;
所以在module里不能使用switch-case语句就是这个原因,回过头想想,我module里的控件SeekBar监听不起作用,肯定也是id一样了,换个名字就好了。