Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!news.dougwise.org!news-transit.tcx.org.uk!news.netcologne.de!newsfeed-fusi2.netcologne.de!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Dirk Bruere at NeoPax Newsgroups: comp.lang.java.programmer Subject: Re: ArrayAdapter Date: Sun, 03 Apr 2011 01:41:37 +0100 Organization: Dirk Bruere at Neopax Lines: 128 Message-ID: <8vpu1mFl1cU1@mid.individual.net> References: <8vi26oFvh2U1@mid.individual.net> <8vnd6rF2qlU1@mid.individual.net> <8vnhhhFseeU1@mid.individual.net> <8vnmbrFq40U1@mid.individual.net> <8vonp8FvbaU4@mid.individual.net> Reply-To: dirk.bruere@gmail.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net dPefvLJpxnlz2Bi0hV3PUQbsQDBs1HmnAxpftpRDHwq498oC8h Cancel-Lock: sha1:zCpsOuhD1IDb3e0VjYWr56gL9rU= 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:2786 On 02/04/2011 23:50, Lawrence D'Oliveiro wrote: > In message<8vonp8FvbaU4@mid.individual.net>, Dirk Bruere at NeoPax wrote: > >> What does passing context to a class mean if every item and method in it >> is static? > > You don’t have to pass any arguments to your own method calls that you don’t > need. > > If the system is calling you, that’s a different matter. But then you > usually just pass the same arguments to super.whatever, do your own > processing on what you want and ignore the rest. This bit of code works in that the adapter is set on the listview with no problems public class controller extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Context currentContext = this; //@SuppressWarnings("unused") //final Data data = new Data(currentContext); ArrayAdapter myAdapter; ListView lvRadio; ArrayList radioTitleArrayList = new ArrayList(); lvRadio = (ListView)findViewById(R.id.ListViewRadio); lvRadio.setClickable(true); lvRadio.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView lv, View view, int arg2, long arg3) { BlinkAPI.playNetRadio(arg2); }}); myAdapter = new ArrayAdapter(this,android.R.layout.simple_expandable_list_item_1,radioTitleArrayList); lvRadio.setAdapter(myAdapter); } } //************************ public class controller extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Context currentContext = this; @SuppressWarnings("unused") final Data data = new Data(currentContext); ArrayAdapter myAdapter; ListView lvRadio; lvRadio = (ListView)findViewById(R.id.ListViewRadio); lvRadio.setClickable(true); lvRadio.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView lv, View view, int arg2, long arg3) { BlinkAPI.playNetRadio(arg2); }}); } } //This bit of code crashes out when the list adapter is set in setRadioTitleAdapterListView(), which is called from another thread public class Data { static ListView radioLV; static public ArrayAdapter radioTitleAdapter; private static Context mContext; public static ArrayList radioTitleArrayList = new ArrayList(); public Data( Context ctx) { mContext = ctx; radioLV = (ListView )((Activity) mContext).findViewById(R.id.ListViewRadio); radioTitleAdapter = new ArrayAdapter(mContext, android.R.layout.simple_expandable_list_item_1,radioTitleArrayList); } public static void setRadioTitleAdapterListView() { radioLV.setAdapter(radioTitleAdapter); radioTitleAdapter.notifyDataSetChanged(); } } //******************* I can fill radioTitleArrayList with data. As far as I can tell the context passed in is the same as in onCreate. Ditto lvRadio is the same as radioLV It's the action of setting the adapter that causes it to fail Is there anything I am obviously doing wrong? -- Dirk http://www.neopax.com/technomage/ - My new book - Magick and Technology