2

共有設定データのクリアに少し問題があります。

    protected void onStop(){

    super.onStop();
    SharedPreferences settings = getSharedPreferences("SharedP", 0);

    SharedPreferences.Editor editor = settings.edit();
    editor.putString("inputValue", et1.getText().toString());
    editor.commit();
}


private void exitOptionsDialog() {
    new AlertDialog.Builder(this)
            .setTitle("Exit")
            .setMessage("Are you sure you want to exit?")
            .setNegativeButton("No", 
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialoginterface, int i) { } })
            .setPositiveButton("Yes",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialoginterface, int i) {
                            SharedPreferences settings = getSharedPreferences("SharedP", 0);
                            SharedPreferences.Editor editor = settings.edit();
                            editor.clear();
                            editor.commit();
                            finish();

これは「はい」と言う終了ボタンです。このボタンはアプリを終了し、以前に入力/保存されたデータもクリアします。

アプリをテストし、テキストビューボックスに値を入力し、ホームキーを押してからアプリに戻ります。値はそこにあり、すべて正常に機能しています。そのため、メニュー->終了->ダイアログポップアップに移動し、ユーザーに終了するかどうかを尋ねます。はい、アプリは単にアプリを閉じますが、アプリを再度実行すると、値はテキストビューに残ります。

私が間違ったことをしたのかわからない:(

PS:editor.remove( "SharedP");を更新しました。editor.clear();を使用します。そして問題はまだ残っています。

4

1 に答える 1

1

SharedPreferences.Editor clear()を使用できますeditor.clear();

SharedPreferences.Editor editor = settings.edit();
editor.clear();
editor.commit();
于 2012-11-05T00:08:13.373 に答える