1

私はこのアプリに取り組んでおり、EditText何かを書き込むことができる1つのフィールドがあり、それが保存されてリストに追加されます( TextView)。の内容を次のように保存しますEditText

saved += "*" + editTextFelt.getText().toString() + ". \n";

savedですString。すべて正常に動作し、アプリをリロードすることもできますが、まだ表示されていますが、TextView何かを書き込んで保存しようとすると、そこにあったものがすべて消えてしまいます。なんで?

コード: init メソッド()

sp = getSharedPreferences(fileName, 0);
betaView = (TextView)findViewById(R.id.betaTextView);

テキストを送信するボタンがあります。これは次のようなものです。

public void onClick(View v) {
        switch(v.getId()){
        case R.id.btnSend:
            saved += "*" + editTextFelt.getText().toString() + ". \n";
            SharedPreferences.Editor editor = sp.edit();
            editor.putString("SAVED", saved);
            editor.commit();

            betaView.setText(sp.getString("SAVED", "Empty"));   
4

1 に答える 1

1

どうやって保存していますか?変数に対してテキストを保存すると、前のテキストが置き換えられるためです。

SharedPreferencesしたがって、前のものを取得してから、新しいものを追加してから、次のように再度保存する必要があります。

SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String saved = sp.getString("YourVariable", "");
saved += "*" + editTextFelt.getText().toString() + ". \n"; //appending previous
//Editor to edit
SharedPreferences.Editor editor = preferences.edit();
editor.putString("YourVariable",saved);
editor.commit(); //don't forget to commit.

この追加テキストを次のTextViewように設定します。

betaView.setText(saved);
于 2012-11-04T16:55:30.840 に答える