安卓操作两个控件(如点击两个Button)出现功能置换(交换)的原因

时间:2022-06-02 17:37:02

今天遇到了一个奇怪的bug,在这里记录下这个问题,和大家交流。

症状:

比如说我在布局文件中写了两个Button控件,点击Button1和Button2两个控件,发现要实现的功能被交换了(点击Button1显示Button2实现的功能,而点击Button2显示Button1实现的功能),仔细检查代码,里面的代码和应该实现的原有功能保持一致。这就让人感觉很奇怪,到底问题出在哪里,是见鬼了吗!?

原因:

出现这个问题其实是因为自己开始的时候写了或者直接拖拽了两个Button控件,这时在android编译环境的R文件中已经生成了对应的代码,但是自己又把两个Button调换了一下位置然后运行,此时的R文件还没有及时改过来原有的生成代码,导致两个按钮的实现表现发生了交换。

解决方案:

在R文件中找到相应的Button1和Button2的代码,将两个控件的id进行交换重新运行,或者将其删除重新运行,甚至直接将整个R文件删除重新运行。