Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

When are closing tags required with Android view markup?

For some Android XML attributes, you don't conclude the opening tag with a '>' until after you've inserted your formatting components. For example:

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

Why is there no definition for the EditText component within the opening and closing tags? Also, I noticed that some don't even require closing tags and are just in themselves XML statements. For example:

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

Why does this XML statement not require a closing statement when it practically provides the same components as the EditText field?

  • Is there a failsafe way of knowing which ones require opening and closing statements for proper syntax?

  • Is there a list/reference for which ones do and don't?

  • What's the difference between these different components?

like image 310
AlleyOOP Avatar asked Oct 21 '22 21:10

AlleyOOP


1 Answers

The <Button /> is a so called short tag. This is safe.

If a tag has no body you can obmit the closing tag and add a slash at the end of the tag which means here this tag has no children.

This notation is very common in xhtml for <br /> and <img src="" alt="" /> tags.

The benifit is that you don't need to write the closing tag which makes it simpler to read and if you have a huge xml file there are less data to transport. (This does not count for Android is this case, because the android SDK procudes internally a binary file.)

like image 92
rekire Avatar answered Oct 28 '22 21:10

rekire