質問: new PrintStream(outputStream); printStream.print(msgReply); printStream.close(); message += "" + msgReply + "\n"; activity.runOnUiThread(new Runnable() { @Override public void run() { activity.msg.setText(message); } }); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); message += "Something wrong! " + e.toString() + "\n"; } activity.runOnUiThread(new Runnable() { @Override public void run() { activity.msg.setText(message); } }); } ``` ### 試したこと インターネットで調べたところFileWriterという言葉をよく見ましたがこれで正解なのでしょうか? 回答下さる皆様には、記載したソースコードに追記という形で示していただけますと助かります。 よろしくお願いします。
回答: swordoneさんの意見ベースです。 受信したメッセージが消えてしまう、というのは呼び出しているメゾットが Runnable のものだからだと思います。全体のソースではないのでなんとも言えませんが。 もし上のとおりだった場合、こうすればいいのではないでしょうか。 ``` // 表示の部分 while( true ){ if(){ // 新しいメッセージを通知したら( () の中身は私は詳しくないので省略 ) break; } } ``` 仕事とか理由がなければ、ぜひクラス自体を提示してほしいものです。(個人の意見) ### 追記 理由は不明ですが、変数は "にめっせーじを..." なのになぜ 4 メッセージを送信しましたになるんでしょうね。 あとFileWriterはtextファイルについてです。 ``` FileWriter fw = new FileWriter( f, false ); // fはFile あっているかは保証しない ``` こういう感じにすると、全て消してから書き込み、とできるということです。