Buenas, siento dar más el coñazo (no hago na más que preguntas por aquí) pero llevo poco tiempo con Android y tengo una duda que por más que busco no tengo muy claro como solucionar. La cosa es que quiero mostrar en un textView dentro de un ScrollView un ladrillo de considerable tamaño en HTML. Este ladrillo está en un fichero que he metido en /assets. El código que tengo en onCreate() es:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ayuda__cmmi);
AssetManager am = this.getAssets();
InputStream is = null;
try {
is = am.open("ejemplo.txt"); //Contiene el HTML a leer
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
String total = is; //Aquí no sé qué hacer
TextView text = (TextView)findViewById(R.id.textView1);
text.setText((Html.fromHtml(total)));
}
En la línea del String total = is; he probado con is.toString(); pero me saca la ruta interna o algo que no tengo ni idea de qué es, pero desde luego el HTML no xD Y no hay manera de que me muestre el texto formateado con el HTML (ni sin formatear tampoco).
En fin, si podéis echarme una mano mil gracias.
EDIT: SOLUCIONADO, lo pongo por si a alguien más le pasa:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_ayuda__cmmi);
AssetManager am = this.getAssets();
InputStream is = null;
try {
is = am.open("ejemplo.txt");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
InputStreamReader inputStreamReader = new InputStreamReader(is);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
StringBuilder stringBuilder = new StringBuilder();
String line = null;
try {
while ((line = bufferedReader.readLine()) != null){
stringBuilder.append(line).append("\n");
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
TextView text = (TextView)findViewById(R.id.textView1);
text.setText((Html.fromHtml((stringBuilder.toString()))));
}