2010-07-26 8 views
9

Ich mag würde einen Text mit einem Zeilenumbruch in einer Warnmeldung angezeigt:Html.fromHtml (String) + Linebreak Problem

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(); 
    } 

Allerdings funktioniert dies mehr oder weniger in Ordnung, die Zeilenumbrüche

\ n

werden überhaupt nicht angezeigt. Ich habe bereits versucht, \n durch \\n oder sogar <\br> zu ersetzen, aber nichts hat funktioniert. Irgendwelche Hinweise wie man das macht?

Antwort

18

Versuchen Sie <br /> (beachten Sie den Schrägstrich ist nach der Tag-Name plus es ist ein Schrägstrich, nicht ein zurück).

+1

Omg. so peinlich. aber das funktioniert! Gut gemacht – RoflcoptrException

2

Der Tag Html Zeilenumbrüche ist <br/>

20

Änderung

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

zu

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