Thank you for the insights. However the adapter is not linked to any one activity - in fact I re-use it in multiple activities that have tables. It's a class of its own. The lookup of the SharedPreferences is independent of the activity that may be using the adapter. So I'm afraid I cannot use the options you proposed. (I am not using fragments)
On Tuesday, October 16, 2012 5:09:10 AM UTC-4, Piren wrote: > > This doesn't really have anything to do with SharedPreferences or your > ListAdapter... this is Java basics. > > getApplication() isn't some global static function that can be called from > anywhere, it can be called however from an Activity. Since your adapter is > an instance with the Activity as a parent (most likely), you need to > reference it. > > If your activity is named MyActivity you can do: > SharedPreferences settings = PreferenceManager. > getDefaultSharedPreferences(MyActivity.this.getApplication()); > > (if its in a Fragment, MyActivity.this should be replaced with > getActivity() and so forth) > > On Tuesday, October 16, 2012 3:16:33 AM UTC+2, lbendlin wrote: >> >> I have a custom list view adapter >> >> *public* *class* CustomListAdapter *extends* ArrayAdapter<String> >> >> >> that I use to modify list view cells. Now I have the need to modify some >> cells' content based on a global variable from the SharedPreferences. >> >> However, the adapter tells me it doesn't understand getApplication() so >> >> >> SharedPreferences settings = >> PreferenceManager.getDefaultSharedPreferences(getApplication()); >> >> >> doesn't work. How else am I supposed to get the application context ? >> via a static variable in the application singleton? >> > -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en