5

一部のAndroidXML属性では、フォーマットコンポーネントを挿入するまで、開始タグを「>」で終了しません。例えば:

<EditText 
  android:id="@+id/etEmails"> 
</EditText>

開始タグと終了タグ内にEditTextコンポーネントの定義がないのはなぜですか?また、終了タグを必要とせず、それ自体がXMLステートメントであるものもあることに気付きました。例えば:

<Button
  android:text="Subtract 1"
  android:id="@+id/buttSub"
  />

EditTextフィールドと実質的に同じコンポーネントを提供するのに、なぜこのXMLステートメントは終了ステートメントを必要としないのですか?

  • 適切な構文のためにステートメントを開いたり閉じたりする必要があるものを知るためのフェイルセーフな方法はありますか?

  • するものとしないもののリスト/リファレンスはありますか?

  • これらの異なるコンポーネントの違いは何ですか?

4

3 に答える 3

4

<Button />いわゆるショートタグです。これは安全です。

タグに本文がない場合は、終了タグを省略して、タグの最後にスラッシュを追加できます。これは、このタグに子がないことを意味します。

この表記は、xhtmlfor<br />および<img src="" alt="" />tagsで非常に一般的です。

利点は、終了タグを記述する必要がないことです。これにより、読み取りが簡単になり、巨大なxmlファイルがある場合は、転送するデータが少なくなります。(Android SDKは内部でバイナリファイルを生成するため、これはAndroidにはカウントされません。)

于 2012-12-28T08:22:21.220 に答える
0

たとえば、このような他の要素<something></something>が別の要素の内部にない場合は、終了タグ/>を使用できます。したがって、あなたの例では、EditTextは/>タグで終了することもできます。

EditTextに別の要素を追加する場合は、EditTextのXMLをで閉じる必要があります。

于 2012-12-28T08:23:47.193 に答える
-1

'>'の場合はXMLで記述します

以下のように書いてください

android:text="Subtract &gt; 1"
于 2012-12-28T08:34:38.433 に答える