Advertisement
Guest User

Untitled

a guest
Aug 30th, 2015
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.35 KB | None | 0 0
  1. import android.os.Bundle;
  2. import android.preference.ListPreference;
  3. import android.preference.Preference;
  4. import android.preference.PreferenceActivity;
  5. import android.preference.PreferenceManager;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8.  
  9.  
  10. public class SettingsActivity extends PreferenceActivity implements Preference.OnPreferenceChangeListener {
  11.  
  12.     @Override
  13.     protected void onCreate(Bundle savedInstanceState) {
  14.         super.onCreate(savedInstanceState);
  15.         addPreferencesFromResource(R.xml.preferences);
  16.         bindPreferenceSummaryToValue(findPreference("sortby"));
  17.     }
  18.  
  19.  
  20.     @Override
  21.     public boolean onCreateOptionsMenu(Menu menu) {
  22.         // Inflate the menu; this adds items to the action bar if it is present.
  23.         getMenuInflater().inflate(R.menu.menu_settings, menu);
  24.         return true;
  25.     }
  26.  
  27.     @Override
  28.     public boolean onOptionsItemSelected(MenuItem item) {
  29.         // Handle action bar item clicks here. The action bar will
  30.         // automatically handle clicks on the Home/Up button, so long
  31.         // as you specify a parent activity in AndroidManifest.xml.
  32.         int id = item.getItemId();
  33.  
  34.         //noinspection SimplifiableIfStatement
  35.         if (id == R.id.action_settings) {
  36.             return true;
  37.         }
  38.  
  39.         return super.onOptionsItemSelected(item);
  40.     }
  41.  
  42.     @Override
  43.     public boolean onPreferenceChange(Preference preference, Object newValue) {
  44.  
  45.         String stringValue = newValue.toString();
  46.         if(preference instanceof ListPreference)
  47.         {
  48.             ListPreference listPreference = (ListPreference) preference;
  49.             int prefIndex = listPreference.findIndexOfValue(stringValue);
  50.  
  51.             if(prefIndex >=0)
  52.             {
  53.                 preference.setSummary(listPreference.getEntries()[prefIndex]);
  54.             }
  55.         }
  56.         else
  57.         {
  58.             preference.setSummary(stringValue);
  59.         }
  60.         return true;
  61.     }
  62.     private void bindPreferenceSummaryToValue(Preference preference)
  63.     {
  64.         preference.setOnPreferenceChangeListener(this);
  65.  
  66.         //trigger listener with preferences current value
  67.         onPreferenceChange(preference,
  68.                 PreferenceManager.getDefaultSharedPreferences
  69.                         (preference.getContext()).getString(preference.getKey(),""));
  70.     }
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement