So basically I have a PreferenceActivity that I use to make calls to a Web Service through private classes extending AsyncTask. Whenever a Preference changes I have a \"huge\" \
To answer your first question, if you don't want to deal with using a big switch/case statement your best bet would be to extends the preferences you are using. For instance if you are using a ton of checkbox's just extend the checkbox preference and add your logic to overridden methods. In my experience this cuts way back on code and makes the logic very easy to follow. You can see the original source at grepcode.com if you need to understand how something is working or need to "hack" something in.