O'Reilly logo

Android Application Development For Dummies, 2nd Edition by Donn Felker, Michael Burton

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Working with the PreferenceActivity Class

Defining a preferences screen is fairly simple: Provide the values to the necessary attributes and you’re done. Though the preferences screen may be defined in XML, simply defining it in XML doesn’t mean that it will show up onscreen. To display your preferences screen, you create a PreferenceActivity.

The PreferenceActivity shows a hierarchy of preferences onscreen according to a preferences file defined in XML — such as the one you may have just created. The preferences can span multiple screens (if multiple PreferenceScreen objects are present and nested). These preferences are automatically saved to SharedPreferences. As a bonus, the preferences that are shown automatically follow the visual style of the system preferences, which allows your application to have a consistent user experience in conjunction with the default Android platform.

To inflate and display the PreferenceScreen you may have just built, add an activity that derives from PreferenceActivity to your application and name it TaskPreferences. Add the code in Listing 15-2.

Listing 15-2: The TaskPreferences File

public class TaskPreferences extends PreferenceActivity { →1

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

addPreferencesFromResource(R.xml.task_preferences); →5

EditTextPreference timeDefault = (EditTextPreference)

findPreference(getString(R.string.pref_default_time_from_now_key)); →8

timeDefault.getEditText().setKeyListener(DigitsKeyListener.getInstance()); ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required