Wanneer zijn afsluitende tags vereist met markeringen voor Android-weergave?

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

 

Waarom is er geen definitie voor de component EditText binnen de openings- en sluitingstags? Ook heb ik gemerkt dat sommige zelfs geen sluitingstags vereisen en alleen XML-instructies zijn. Bijvoorbeeld:

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

Waarom vereist deze XML-instructie geen afsluitende instructie als deze vrijwel dezelfde componenten bevat als het veld EditText?

  • Is er een failsafe manier om te weten welke moeten worden geopend en sluitingsinstructies voor de juiste syntaxis?

  • Is er een lijst/referentie voor welke wel en niet?

  • Wat is het verschil tussen deze verschillende componenten?

4
ja ru de
Ik denk dat het een goede vraag is. Niet zeker waarom de down-stemmen. xml kan wispelturig zijn om correct te worden, vooral wanneer sommige elementen/schema's gewoon niet werken met korte tags. Grr!
toegevoegd de auteur user166390, de bron

3 antwoord

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

Als een tag geen body heeft, kunt u de afsluitende tag verzenden en een schuine streep toevoegen aan het einde van de tag. Dit betekent dat deze tag geen kinderen heeft.

This notation is very common in xhtml for
and tags.

Het voordeel is dat u de afsluitende tag niet hoeft te schrijven, waardoor het eenvoudiger te lezen is en als u een groot xml-bestand hebt, zijn er minder gegevens om te transporteren. (Dit geldt niet voor Android, omdat de Android SDK intern een binair bestand indient.)

3
toegevoegd
Het is veilig en identiek.
toegevoegd de auteur rekire, de bron
@pst je hebt gelijk, het kan ertoe doen, maar in dit speciale geval is er geen verschil tussen de zichzelf afsluitende en de normale tags. Zo niet, vertel me alsjeblieft, ik ben blij iets te zeggen :)
toegevoegd de auteur rekire, de bron
@pst Ik ben het met je eens dat een echte verwijzing leuk zou zijn, maar ik heb er nooit iets over gelezen in de context van Android. Zelfs de officiële documentatie maakt gebruik van de zelfsluitende tags zonder uit te leggen waarom. De visuele editor gebruikt ze ook, alleen als je een kindknooppunt hebt, worden de normale tags gebruikt.
toegevoegd de auteur rekire, de bron
Hoe zit het met , is dat veilig? Is het identiek aan ? Zo niet, hoe niet, en maakt het uit? Zo ja, hoe weet u welke vorm u moet gebruiken?
toegevoegd de auteur user166390, de bron
toegevoegd de auteur user166390, de bron
Ik gebruik Android xml niet :-) Maar ik ben gevallen tegengekomen waarbij de markup van ASP.NET-besturingselementen vreselijk sterft als een zelfsluitende tag wordt gebruikt in plaats van een lege tag. Dat had natuurlijk ook gewoon een slechte ASP.NET-controle kunnen zijn .. (Ik heb dit antwoord overgenomen, maar het zou leuk zijn om een ​​paar links naar de Android view XML-documentatie te zien, enz., Die het gebruik van rechtvaardigen in het bijzonder omdat dat is wat de vraag bevat.)
toegevoegd de auteur user166390, de bron

for '>' write in XML

schrijf alsjeblieft hieronder

android:text="Subtract > 1"
1
toegevoegd
Dit beantwoordt een andere vraag, maar niet dit.
toegevoegd de auteur Vadim Kotov, de bron

If no other element like this for example is inside another element then the end tag /> can be used. So in your example the EditText can end also with the /> tag.

Wanneer u een ander element aan uw EditText wilt toevoegen, moet u de xml van EditText sluiten met.

0
toegevoegd