2

ファイルからランダムなジョークを生で読み取り、それを表示する方法がありますが、新しい行を設定する方法がわかりません。行内のジョークはすべて 1 行ですが、明らかに複数の行があるため、\n. たとえば、次の行の"Hi! \n Hi to you too"代わりに自分のコードを使用すると、次のように表示されます。

Hi!
Hi to you too

それは私に与えます

Hi! \n Hi to you too

私はそれを追加しようとしましたが、次のコードでは機能しませんでした。ジョークを配列に入力して、その配列から表示しようとしても機能しませんでした...どんなアイデアでも大歓迎です...

InputStreamReader inputStream = new InputStreamReader
         (getResources().openRawResource(R.raw.vicove));
         BufferedReader br = new BufferedReader(inputStream);
         int numLines = 1;
         Random r = new Random();
         int desiredLine = r.nextInt(numLines);

         String theLine="";
         int lineCtr = 0;
        try {
    while ((theLine = br.readLine()) != null)   {
    if (lineCtr == desiredLine) {
    break;
    }
        lineCtr++;
        }
        } catch (IOException e) {

            e.printStackTrace();
            }

     textGenerateNumber.setText(String.valueOf(theLine));

同じコードを使用して、エスケープ文字のないファイルを読み取ったところ、完全に機能しました... PS 機能しないだけでなく\n\"おそらく他のものも機能します。

4

2 に答える 2

1

これを試して:

String source = "<br>"+String.valueOf(theLine);  
textGenerateNumber.append(Html.fromHtml(source));
于 2012-05-28T15:20:48.220 に答える
1

それはあなたが持っているからです

\n 

これは、改行ではなく、通常の 2 文字です。

Apache Commons ライブラリを使用して、これらのシーケンスをエスケープ解除できます。

Apache Commons のStringEscapeUtils.unescapeJava 。

于 2012-05-28T15:13:58.147 に答える