2010-07-26 9 views
9

Je voudrais afficher un texte avec un saut de ligne dans un message d'alerte:Html.fromHtml (String) + Linebreak Problème

private void showAbout() { 
     AlertDialog.Builder builder = new AlertDialog.Builder(context); 

     String message = "<b>Rechtlicher Hinweis:</b>\nLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed a dolor sapien. Etiam arcu erat, lobortis sed vestibulum ut, adipiscing et enim. Nulla vestibulum volutpat dolor, non pellentesque purus imperdiet vitae. Aenean et elit vel erat consectetur pulvinar. Sed semper, ante vel elementum aliquet, dui urna scelerisque tortor, eu auctor lorem nunc adipiscing velit. Praesent eget libero diam, eget imperdiet sem. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae.\n" + getVersionInfo(); 

     builder.setMessage(Html.fromHtml(message)); 
     builder.setCancelable(false); 
     builder.setPositiveButton("Close", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       dialog.cancel(); 
      } 
     }); 
     builder.setTitle("About"); 
     builder.setIcon(R.drawable.icon); 

     AlertDialog alert = builder.create(); 

     alert.show(); 
    } 

Cependant, cela fonctionne plus ou moins bien, les sauts de ligne

\

ne sont pas affichés du tout. J'ai déjà essayé de remplacer \n par \\n ou même <\br> mais rien n'a fonctionné. Des conseils comment faire cela?

Répondre

18

Essayez <br /> (notez que la barre oblique est après le nom du tag plus une barre oblique, pas une barre oblique).

+1

Omg. tellement embarrassant. mais cela fonctionne! Bien fait – RoflcoptrException

2

La balise Html linebreak est <br/>

20

changement

builder.setMessage(Html.fromHtml(message)); 

à

builder.setMessage(Html.fromHtml(message.replace("\n","<br />")); 
Questions connexes