androidstudioの共有プリファレンスについての質問です。タップすると値をカウントダウンするアプリを制作していて、リセットボタンを実装しようと思いonResetメソッドを制作したのですが、共有プリファレンスで保存したカウントの値が戻っておらずどうすれば初期の値に戻せるのか四苦八苦しております。アドバイスがありましたらお願いします。
コードpackage com.example.ed; import androidx.appcompat.app.AppCompatActivity; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.View; import android.widget.TextView; public class MainActivity extends AppCompatActivity { private int c; private SharedPreferences preferences; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // ファイルの準備 preferences = getSharedPreferences("count_data", MODE_PRIVATE); // データの読込(初期値100) c = preferences.getInt("count", 100); // データ表示 ((TextView) findViewById(R.id.tv)).setText("" + c); } public void onButton(View view){ if(c>0){ c--; // カウントダウンした値を保存する SharedPreferences.Editor editor = preferences.edit(); editor.putInt("count", c); editor.apply(); } ((TextView)findViewById(R.id.tv)).setText(""+c); if(c<=0){ ((TextView)findViewById(R.id.tv)).setText("クリアー"); } } public void onReset(View view){ //リセットボタンのメソッド //値のクリア SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this); SharedPreferences.Editor editor=preferences.edit(); editor.clear(); editor.commit(); // データ表示 ((TextView) findViewById(R.id.tv)).setText("" + c); } }
回答1件
あなたの回答
tips
プレビュー