Android Studio:通过Design GUI添加@ + id会产生错误

时间:2016-09-23 05:49:06

标签: android-studio

我找到了一个解决方法,我将作为答案发布,但它仍然提出了为什么它首先发生的问题。

当我尝试通过Design GUI添加新ID时,我在框中输入名称:

id_sample

只要我开箱即用,它就会@+id/

@+id/id_sample

这听起来很合理,因为 - 嘿,它必须按照documentation添加一个新的ID,对吧?

但是当我进入java代码时,自动完成功能在代码方面给了我乱码 - 因为额外的@+id/,自动完成功能为我提供@+id/id_sample总计

menu.findItem(R.id.@+id/id_sample);

,其中包含无效字符;删除它们时:

menu.findItem(R.id.id_sample);

给出错误Cannot resolve symbol 'id_sample',因为xml坚持正确的名称包含无效字符。赶上22。

那么如何正确引用id?

1 个答案:

答案 0 :(得分:0)

查看xml,@+id/实际上已将添加到@+id/id_sample

android:id=@+id/@+id/id_sample

这显然给了编译器心脏病发作。弄清楚发生了什么事后,很容易(尽管很乏味)足以跳进xml并删除额外的@+id/但是我看不出有什么方法可以让设计师把它放在第一个的地方。

在xml中更正后,它会在GUI中自动更正,当您进入java代码时,自动完成将为您提供正确的名称,编译器将识别它。

剩下的就是想知道是否有一些我做错了导致这种情况。这是一个已知(或未知)的错误?知道什么是错的,它可以在xml中修复,但似乎GUI应该首先正确。正确?