List Preference and Shared Preferences - android

When and How do you use the ListPreferences? Is it an alternate for ListActivity, listView?
How do you decide whether this is the better choice?

As it's name says List Preferences are used to store Preferences. I use for example to choose the car color of my buddies. This will be saved to shared preferences.
List Preference needs to go in a PreferenceActivity, so that should only be Settings, that's how is advised. A ListPreference is a 1 row display in Preference Activity and will open up the choices to select from.
ListViews are used for much more, and is intended for all use except settings/preferences. If you want your users to navigate on the list and choose one and see some screen coming up on that info you need ListView.

Related

How to manage multiple preference sets?

I have a list of items that needs to be configured. Is it possible to select one item and to edit it using the XML PreferenceScreen/EditTextPreference?
From my understanding, the PreferenceManager writes all settings to a file and does not let the user handle it.
I solved the issue by leaving the multiple PreferenceCategory in the PreferenceScreen and then remove them programmatically using getPreferenceScreen().removePreference(pref). I store the items in a List and add swap them back in with addPreference.

Dynamically create preference screen and sharedpreferences file

I have a preference activity and some list preferences whose options I need to populate dynamically so:
Can I populate these list preferences dynamically or do I need to create the whole thing (activity) dynamically?
If I do create the whole thing manually will the sharepreferences be update with my choices? (getDefaultSharedPreferences) and if not how can I get the choices I made?
Thanks!
If you want to provide settings for your app, you should use Android's Preference APIs to build an interface that's consistent with the user experience in other Android apps.
More information here.

Android: how to create per-item settings activity?

I have a collection of items which are shown using a ListView.
Each of these items has its own settings. By clicking on one item I want to allow the user to view/change its settings.
What is the best way to do this?
It would be nice if I could use something like PreferenceActivity as this provides a nice layout. Unfortunately the preference mechanism always saves the chosen preferences to a global file (see SharedPreferences).
A workaround might be using multiple files, one per item, but I don't like this solution since the collection is dynamic and I prefer the settings to be local to my objects.
Another workaround might be opening a PreferenceActivity, then reading all the settings and saving them to the appropriate object. This also seems far from elegant.
Finally, I could implement my own activity with a ListView and custom item layouts, but this seems a duplicated work to get the same behavior and style.
Any suggestion is welcome :)
Thank you
I'd do something along the lines of PreferenceActivity, but save the preferences to the items themselves or something associated with them. To display the preferences input, use a dialog Fragment. You can then either pop up the dialog, or display it as a regular Fragment.

Preference with in-line options

I've created a PReference Screen which lets the user manage a series of elements marked by himself as "favorites". I create a Preference category then fill it up with options dynamically, taking them from a sqlite database. This is a screencap:
And this is a screen mockup of what I want to achieve:
That is, I want for every preference item to add an in-line remove option that allows users to directly remove favorites.
The problem is I don't know how to do this, and I've seen no similar examples. Is it even possible?
Android provides an easy means to implement preferences screen, but standard android ListPreference does not provide an easy way to display an image for each item if the list. To add the images to the Android ListPreference, we need to use a custom xml attribute
Here is some example that may help you
http://www.cmwmobile.com/index.php?option=com_content&view=article&id=4&Itemid=12
How to add icons to Preference
To delete prefrence from prefrence screen you you can refer this Link : How to determine which preference item from custom layout button click

How can I create a layout like this?

Two tiles SORT and REMINDER and having Sub Item as shown in image.
I have tried this by using Listview but nothing made up like this.
That is easy with Shared Preferences, take a look at this tutorial
In brief: for all Preference Category you have the possibility to add a title, in your case SORT and REMINDER.
You need to use PreferenceCategory to acheive this.
The Settings screen usually makes use of the SharedPreferences and you could use a PreferenceActivity to do it or you can handle all the interaction manually.
The preference category helps you to categorize all the preference settings into various groups, so as to make it easy for the user to understand which setting is for which functionality.
An excerpt from the documentation :
Used to group Preference objects and provide a disabled title above
the group.

Categories

Resources