Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!gegeweb.org!de-l.enfer-du-nord.net!feeder1.enfer-du-nord.net!news.musoftware.de!wum.musoftware.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Dirk Bruere at NeoPax Newsgroups: comp.lang.java.programmer Subject: Re: Initializing from context passing Date: Sat, 23 Apr 2011 19:12:38 +0100 Organization: Dirk Bruere at Neopax Lines: 56 Message-ID: <91gj4cF34fU1@mid.individual.net> References: <91ga4tF38vU1@mid.individual.net> Reply-To: dirk.bruere@gmail.com Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: individual.net 2Z/NzYkBea/yvg+Mi3xtcQetRMGkRiC4qNdHma8SYpiGZ3Ib+I Cancel-Lock: sha1:OE0I3VGOoJoKsL1jxMpgbiX9Sf4= User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.15) Gecko/20110303 Thunderbird/3.1.9 In-Reply-To: Xref: x330-a1.tempe.blueboxinc.net comp.lang.java.programmer:3219 On 23/04/2011 17:35, Daniele Futtorovic wrote: > On 23/04/2011 17:39, Dirk Bruere at NeoPax allegedly wrote: >> I have a Data class of the form: >> >> Data >> ( >> public static ListView albumsLV; >> public static ArrayAdapter albumsTitleAdapter >> public static ArrayList albumsTitleArrayList = new >> ArrayList(); >> >> Data(Context ctx) >> { >> albumsLV = (ListView )((Activity) ctx).findViewById(R.id.ListViewAlbums); >> >> albumsTitleAdapter = new ArrayAdapter(ctx, >> android.R.layout.simple_expandable_list_item_1,albumsTitleArrayList); >> } >> >> } >> >> and in the main method{ >> >> public void onCreate(Bundle savedInstanceState) >> { >> super.onCreate(savedInstanceState); >> setContentView(R.layout.main); >> Context currentContext = this; >> >> Data data = new Data(currentContext); >> >> } >> >> lvAlbum = (ListView)findViewById(R.id.ListViewAlbums); >> lvAlbum.setAdapter(Data.albumsTitleAdapter); >> } >> >> I never use Data data variable again. >> Is that sufficient to initialize the static parameters in Data class? >> > > Yeah, but it's crap. At least make it a static method e.g. > Data.init(Context). So do not do it in the constructor? > And do use interface types rather than implementations, unless you > specifically rely on a detail of the implementation (which is often a > bad sign). That is, make it a List, not an ArrayList. > -- Dirk http://www.neopax.com/technomage/ - My new book - Magick and Technology