Note that there are some explanatory texts on larger screens.

plurals
  1. POshared preferences not being saved
    primarykey
    data
    text
    <p>In my activity i am updating the user interface according to the preferences stored. code for updateUI is as follows:</p> <pre><code>private void updateUI() { //preferences = getSharedPreferences(Select.PREF_FILE_NAME, MODE_PRIVATE); preferences = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); toggle = (Button)findViewById(R.id.toggleButton); incommingEdit = (Button)findViewById(R.id.IncommingEditButton); outgoingEdit = (Button)findViewById(R.id.outgoingEditButton); missedEdit = (Button)findViewById(R.id.missedEditButton); save = (Button)findViewById(R.id.saveButton); cancel = (Button)findViewById(R.id.cancelButton); incommingCheck = (CheckBox)findViewById(R.id.incommingCheck); outgoingCheck = (CheckBox)findViewById(R.id.outgoingCheck); missedCheck = (CheckBox)findViewById(R.id.missedCheck); incommingTextView = (TextView) findViewById(R.id.incommingTextView); outgoingTextView = (TextView) findViewById(R.id.outgoingTextView); missedTextView = (TextView) findViewById(R.id.missedTextView); //Disable all the edit buttons until their checkboxes are checked. incommingEdit.setEnabled(false); outgoingEdit.setEnabled(false); missedEdit.setEnabled(false); //Display the messages in the text views. incommingTextView.setText(preferences.getString("incommingMsgPhone", "Currently there are no messages saved.")); outgoingTextView.setText(preferences.getString("outgoingMsgPhone", "Currently there are no messages saved.")); missedTextView.setText(preferences.getString("missedMsgPhone", "Currently there are no messages saved.")); //Check the check boxes. if(preferences.getInt("incommingPhone", 0) == Calls.INCOMING_TYPE) { incommingCheck.setChecked(true); incommingEdit.setEnabled(true); } if(preferences.getInt("outgoingPhone", 0) == Calls.OUTGOING_TYPE) { outgoingCheck.setChecked(true); outgoingEdit.setEnabled(true); } if(preferences.getInt("missedPhone", 0) == Calls.MISSED_TYPE) { missedCheck.setChecked(true); missedEdit.setEnabled(true); } //Check if the application is on or off and set the text of the button. //preferences = getSharedPreferences(Select.PREF_FILE_NAME, MODE_PRIVATE); boolean on = preferences.getBoolean("isOn", false); if(!on) toggle.setText("Turn On"); else toggle.setText("Turn off"); } </code></pre> <p>Here is how i am saving all these preferences:</p> <pre><code>save.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //Save all in the preference file and exit. //preferences = getSharedPreferences(Select.PREF_FILE_NAME, MODE_PRIVATE); Editor editor = preferences.edit(); editor.putInt("incommingPhone", incomming); editor.putInt("outgoingPhone", outgoing); editor.putInt("missedPhone", missed); editor.putString("incommingMsgPhone", incommingMsg); editor.putString("outgoingMsgPhone", outgoingMsg); editor.putString("missedMsgPhone", missedMsg); editor.commit(); finish(); } }); </code></pre> <p>my UI is updated properly second time i run my application but around third or fourth time i get default preference values. i even tried using getdefaultpreferences instead of getsharedpreferences, but no luck. </p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload