0

ユーザーが自分自身に関する情報を入力する必要があるアプリを作成しています。情報は数段落の長さにする必要があり、これを行うには、携帯電話のキーボードの入力ボタンを使用して新しい行を作成する必要があります。これは機能しますが、ユーザーが情報を編集するために戻ってくると、作成されたすべての新しい行が忘れられています。例えば

彼らが書いた場合

> line one
> 
> 
> 
> line five

その後、アプリを再度開くと表示されます

line oneline five

5 行目のテキストは、1 行目のテキストに直接追加されています。

新しい行を覚えさせるにはどうすればよいですか? テキストボックスからファイルに書き込み、ファイルからテキストボックスに再度読み取るコードは次のとおりです。

public void save() {

        String FILENAME = "item_1_content.txt";
        String string = name.getText().toString();


        FileOutputStream fos = null;
        try {
            fos = openFileOutput(FILENAME, Context.MODE_PRIVATE);
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fos.write(string.getBytes());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        try {
            fos.close();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }



        public String readSavedData ( ) {
            String datax = "" ;
            try {
                FileInputStream fIn = openFileInput ( "item_1_content.txt" ) ;
                InputStreamReader isr = new InputStreamReader ( fIn ) ;
                BufferedReader buffreader = new BufferedReader ( isr ) ;

                String readString = buffreader.readLine ( ) ;
                while ( readString != null ) {
                    datax = datax + readString ;
                    readString = buffreader.readLine ( ) ;
                }

                isr.close ( ) ;
            } catch ( IOException ioe ) {
                ioe.printStackTrace ( ) ;
            }
            name.setText(String.valueOf(datax));
            return datax ;

        } 
4

1 に答える 1

1

これを使って:

String readString = buffreader.readLine();
while( readString != null ) {
    datax = datax + readString + "\n";
    readString = buffreader.readLine();
}

改行を追加する必要があります。でエンコードされてい"\n"ます。

于 2013-01-26T19:02:19.767 に答える