package org.qaoverflow.q2android; import com.actionbarsherlock.app.SherlockPreferenceActivity; import android.annotation.SuppressLint; import android.content.Context; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.EditTextPreference; import android.preference.Preference; import android.preference.PreferenceManager; import android.preference.Preference.OnPreferenceChangeListener; import android.text.InputType; import com.actionbarsherlock.view.MenuItem; public class Q2ASettingsActivity extends SherlockPreferenceActivity { private Context context; private static SharedPreferences prefs; @SuppressLint("NewApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.context = getApplicationContext(); addPreferencesFromResource(org.qaoverflow.q2android.R.xml.preferences); prefs = PreferenceManager.getDefaultSharedPreferences(context); final EditTextPreference streamPref = (EditTextPreference)findPreference("stream_max"); final EditTextPreference contentPref = (EditTextPreference)findPreference("content_max"); setupEditTextPreference(streamPref,"20", null); setupEditTextPreference(contentPref,null, getString(org.qaoverflow.q2android.R.string.contentMaxDesc)); streamPref.getEditText().setInputType(InputType.TYPE_CLASS_NUMBER); contentPref.getEditText().setInputType(InputType.TYPE_CLASS_NUMBER); getSupportActionBar().setHomeButtonEnabled(true); getSupportActionBar().setDisplayHomeAsUpEnabled(true); } protected String TAG = "Q2ASettingsActivity"; @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle item selection super.onOptionsItemSelected(item); switch (item.getItemId()) { case android.R.id.home: // app icon in action bar clicked; go home finish(); return true; default: return false; } } public void setupEditTextPreference(final EditTextPreference etp, final String def, final String desc) { if(def != null) { if(etp.getText() == null || etp.getText().equals("")) etp.setText(def); etp.setSummary(etp.getText()); } else if(etp.getText() != null && !etp.getText().equals("")) { etp.setSummary(etp.getText()); } etp.setOnPreferenceChangeListener(new OnPreferenceChangeListener() { public boolean onPreferenceChange(Preference preference, final Object newValue) { if((newValue == null || ((String)newValue).length() == 0) && desc != null) etp.setSummary(desc); else etp.setSummary((String) newValue); return true; } }); } }