@ + id/android:list和@id/android:list有什么不同?

Jam*_*Lee 8 syntax android

我开发了android应用程序,还有一个问题.

如您所知,当我们使用LiveActivity时,我们必须为ListView ID指定@ id/android:list.

但是,当我使用@ + id/android:list而不是@ id/android:list时,它运行正常.

@ + id/android:list和@id/android:list之间有什么不同?

小智 7

@和之间的根本区别在于,@+@+表示您需要添加一个新的id,@它本身告诉编译器查找现有的id.


Com*_*are 4

大家知道,当我们使用LiveActivity时,我们必须为ListView ID指定@id/android:list。

你不可以。您必须指定@android:id/listListView与 一起使用的 IDListActivity

但是,当我使用 @+id/android:list 而不是 @id/android:list 时,它工作正常。

不,这些会给你编译错误。冒号在 Java 字段名称中不是有效字符,因此这些 ID 是非法的。

切换回合法的 Android 语法,如果您声明自己的 ID(android:值中没有),则第一次在文件中使用该 ID 时,应该有该+符号。第二次及以后的时间里,+就不需要这个标志了,尽管如果你也在那里的话,它似乎不会造成任何伤害。