web-dev-qa-db-fra.com

Android Reliure de liaison de données / valeur par défaut

J'utilise Android liaison de données qui fonctionne très bien:

<TextView
Android:text="@{ee.Name}"
...

Mais si je le fais, le Android Studio Designer n'affiche aucun texte. Sans texte, je ne vois pas du tout TextView. Ce qui est compréhensible car je n'ai pas encore lié les données. Y a-t-il quelque chose comme une valeur de secours ou une valeur par défaut qui peut être affichée jusqu'à ce qu'il y ait des données réelles?

22
ehmunnehm

Vous devriez lire le Guide de liaison de données publié sur le Android. La dernière section du document, Prise en charge d'Android Studio pour la liaison de données expliquer comment vous pouvez utiliser un espace réservé qui peut vous aider pendant la phase de conception. C'est très simple:

<TextView Android:layout_width="wrap_content"
   Android:layout_height="wrap_content"
   Android:text="@{user.firstName, default=Placeholder}"/>

Si vous souhaitez avoir du texte avec des espaces comme espace réservé, vous pouvez utiliser des guillemets simples ('), des guillemets arrière (`) ou &quot;

Android:text='@{user.firstName, default="Placeholder text"}'
Android:text="@{user.firstName, default=`Placeholder text`}"
Android:text="@{user.firstName, default=&quot;Placeholder text&quot;}"
Android:text="@{user.firstName, default=@string/placeholder_text}"
42
Bandreid

Le volet Aperç affiche les valeurs par défaut des expressions de liaison de données.

Android:text="@{user.firstName, default=PLACEHOLDER}"

Cela peut définir la valeur par défaut.

<TextView
    Android:layout_width="wrap_content"
    Android:layout_height="wrap_content"
    Android:layout_gravity="center_horizontal"
    Android:text="@{defaultString ?? @string/hello_world}"/>
9
qinmiao

Si vous souhaitez voir la valeur par défaut uniquement au moment du design, pensez à utiliser Designtime Layout Attributes . Ceci est utile si, par exemple, vous voulez mettre des valeurs incorrectes (par exemple des valeurs trop longues) et voir comment cela se produit, mais vous ne voulez pas le voir au moment de l'exécution.

Bien sûr, vous pouvez utiliser les deux techniques - les espaces réservés par défaut (mentionnés par @Bandreid) et les attributs de conception. Dans ce cas, vous verrez les attributs de conception lors de la conception et les espaces réservés lors de l'exécution.

0
Alexey