0

Im faire une application simple réseau et que vous voulez charger le journal de chat au démarrage, cela fonctionne bien, mais il met en forme le texte comme une lignefichier texte de lecture de maintien de format précédent

écriture dans le fichier

CharSequence cs = tv.getText(); 
final String str = cs + "\r\n" + s; 
//Write to text file 
try { 
FileOutputStream fos = openFileOutput("Chat Log", Context.MODE_APPEND); 
fos.write(s.getBytes()); 
fos.close(); 
} catch (Exception e) { 
e.printStackTrace(); 
} 



} 
catch (IOException e1) 
{ 

e1.printStackTrace(); 
} 
//close the socket 
socket.close(); 

lecture des textes

final TextView tv = (TextView)findViewById(R.id.textView1); 
try { 
BufferedReader inputReader = new BufferedReader(new InputStreamReader(
openFileInput("Chat Log"))); 
String inputString; 
StringBuffer stringBuffer = new StringBuffer(); 
while ((inputString = inputReader.readLine()) != null) { 
stringBuffer.append(inputString + "\r\n"); 
tv.append(inputString); 
} 

} catch (IOException e) { 
e.printStackTrace(); 
} 

Résultat courant Screenshot

Répondre

0

Vous devriez pouvoir enregistrer le formatage en utilisant Html.toHtml et Html.fromHtml.

Quelque chose le long des lignes de:

String htmlFormatted = Html.toHtml(tv.getText()); 
// .. save to file .. 

Puis:

Spanned htmlFormatted = Html.fromHtml(chatLog); 
tv.setText(htmlFormatted); 

Voir ces questions similaires:

+0

@ josh-reilly Veuillez accepter la réponse ou laissez-moi savoir si cela n'a pas été utile. – silverjam