4

この質問にぴったりのタイトルが思いつきませんでしたので、できればお気軽に修正してください。

だからここに私の質問があります。私は自分用の小さなアプリを作成することに決めました。その過程で、Android 開発をよりよく学ぼうとしています。「新しいIDリソースを作成する」ことを意味するため、属性に+(プラス)記号がある理由を知っています。しかし、なぜAndroidが以下のような参照に使用されるものandroid:idを入れる必要があるのか​​ わかりません:+

ここでは、 と という名前の 2 つのボタンがStartButtonありStopButton、これらは新しいリソースであるため、 には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 に答える