换行的Android问题

时间:2014-01-19 09:38:14

标签: android newline textview

我在textview中遇到换行问题(我从资产txt文件中读取文本)。见截图:

enter image description here

我的代码:

 TextView txt = (TextView) findViewById(R.id.txt);

    AssetManager assetManager = getAssets();

    InputStream input;
    try {
        input = assetManager.open("book.txt");

         int size = input.available();
         byte[] buffer = new byte[size];
         input.read(buffer);
         input.close();

         String text = new String(buffer);
         txt.setText(text);
    } catch (IOException e) {

    }

book.txt的一些行:

  

Мимдолженмолчать   Авторpushkiy

     

- Мама-мама! Смотри! Грустныйклоун! - бесцеремоннопоказывалананегопальцемдевочкалетвосьми。

     

- Маш,этонеклоун - этомим, - несбавляласкоростимама,пытаясьуспетьнатрамвай。 Девочка,неуспеваязамамой,болталасьунеенаруке,нопродолжалагн​​утьсвоюлинию:«Апочемуклоунгрустный,мама?» - «Спросиунегосама»。

3 个答案:

答案 0 :(得分:0)

你可以试试这个:

try {
BufferedReader reader = new BufferedReader(
    new InputStreamReader(getAssets().open("book.txt"),"UTF-8"));

// do reading, usually loop until end of file reading  
String mLine = reader.readLine();
while (mLine != null) {
   txt.append(mline);
   mLine = reader.readLine(); 
}

reader.close();
} catch (IOException e) {
//log the exception
}

答案 1 :(得分:0)

尝试一次。可能对你有所帮助。

txt.setText(Html.fromHtml(text));

或者您可以用“\ n”替换该字符,如果不起作用,现在可以再次使用它。

答案 2 :(得分:0)

谢谢大家!我已将文件从txt转换为html,现在我的代码如下:

 AssetManager assetManager = getAssets();
     InputStream inputStream = assetManager.open("book.html");
     ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
     int i;
     try {
     i = inputStream.read();
      while (i != -1)
      {
       byteArrayOutputStream.write(i);
       i = inputStream.read();
      }
      inputStream.close();
      } catch (IOException e) {

     }

      TextView txt = (TextView) findViewById(R.id.txt);   
      txt.setText(Html.fromHtml(byteArrayOutputStream.toString()));