4

我无法为这个问题想出更好的标题,所以如果可以的话,请随时修改它。

所以这是我的问题。我决定为自己编写一个小应用程序,并且在此过程中我也在尝试更好地学习 Android 开发。我知道为什么属性中有一个+(加号)符号,android:id因为它意味着“创建一个新的 id 资源”。但我不知道为什么Android需要放入+用于引用的那些,如下所示:

在这里,我有两个名为的按钮StartButtonStopButton并且由于它们是新资源,因此android:id包含+

  <Button
    android:id="@+id/StartButton"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="53dp"
    android:textSize="18dp"
    android:text="Start"
    android:onClick="StartButton_OnClick" />

<Button
    android:id="@+id/StopButton"
    android:layout_width="150dp"
    android:layout_height="wrap_content"
    android:layout_alignTop="@+id/StartButton"
    android:layout_toRightOf="@+id/StartButton"
    android:text="Stop"
    android:textSize="18dp"
    tools:context=".CallerBlockerActivity"
    android:onClick="StopButton_OnClick" />

但是为什么android:layout_alignTop包含+让我感到困惑,因为在到达它id/StartButton时定义了它。@id/StopButton有人可以解释这种语法的必要性吗?

4

1 回答 1

5

无论哪种方式都没有关系——第一次引用 ID 时只需要一个 +。如果 ID 已经定义,+ 无论如何都会被忽略。如果您愿意,您可以在 XML 中的每个引用之前放置一个 +,并且一切都会按预期工作。不过,这只是第一次参考所必需的。

于 2012-08-26T06:59:17.413 回答