I was looking through your code and have one question... what is R.layout.notes_list?
On Wed, Apr 16, 2008 at 3:56 AM, Fred Janon <[EMAIL PROTECTED]> wrote: > I am trying to build a layout with some spinners and a list below the > spinners. The layouts and the code work fine when I get the spinner values > from an array resource. When I try to populate the spinners from an array, I > get an exception, see below. Is it possible to have spinner and a list view > in the same layout? Which adapter do I need for the spinners? > > Thanks > > Fred > > Uncaught handler: thread Main exiting due to uncaught exception > java.lang.ClassCastException: Landroid/widget/Spinner; > at > android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:240) > at android.widget.ArrayAdapter.getView(ArrayAdapter.java:221) > at > android.widget.ArrayAdapter.getMeasurementView(ArrayAdapter.java:217) > at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:230) > at android.view.View.measure(View.java:5937) > at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2250) > at > android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:742) > at android.widget.LinearLayout.measureVertical(LinearLayout.java:289) > at android.widget.LinearLayout.onMeasure(LinearLayout.java:231) > at android.view.View.measure(View.java:5937) > at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:2250) > at > android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:742) > at android.widget.LinearLayout.measureVertical(LinearLayout.java:289) > at android.widget.LinearLayout.onMeasure(LinearLayout.java:231) > at android.view.View.measure(View.java:5937) > at android.view.ViewGroup.measureChild(ViewGroup.java:2218) > at android.widget.FrameLayout.onMeasure(FrameLayout.java:146) > at android.view.View.measure(View.java:5937) > at android.widget.LinearLayout.measureVertical(LinearLayout.java:385) > at android.widget.LinearLayout.onMeasure(LinearLayout.java:231) > at android.view.View.measure(View.java:5937) > at android.view.ViewGroup.measureChild(ViewGroup.java:2218) > at android.widget.FrameLayout.onMeasure(FrameLayout.java:146) > at > android.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:1202) > at android.view.View.measure(View.java:5937) > at android.view.ViewRoot.performTraversals(ViewRoot.java:341) > at android.view.ViewRoot.handleMessage(ViewRoot.java:584) > at android.os.Handler.dispatchMessage(Handler.java:80) > at android.os.Looper.loop(Looper.java:91) > at android.app.ActivityThread.main(ActivityThread.java:3052) > at java.lang.reflect.Method.invokeNative(Native Method) > at java.lang.reflect.Method.invoke(Method.java:356) > at android.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1547) > at android.os.ZygoteInit.main(ZygoteInit.java:1445) > at android.dalvik.NativeStart.main(Native Method) > > Layout: > > > <?xml version="1.0" encoding="utf-8"?> > <!-- layout_width="fill_parent" is needed down to the row TextView to get > the rows to use the whole width when selected, even if the text does not > fill up the whole line --> > > <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" > android:layout_width="fill_parent" > android:layout_height="fill_parent" > android:orientation="vertical"> > > <LinearLayout android:id="@+id/TopLinearLayout" > android:layout_width="fill_parent" > android:layout_height="wrap_content"> > > <TextView android:id="@+id/tagslabel" > android:layout_width="wrap_content" > android:layout_height="wrap_content" > android:layout_weight="1" > android:text="Tags to look for" > android:textSize="20sp"/> > <Button android:id="@+id/reset" > android:layout_width="wrap_content" > android:layout_height="wrap_content" > android:text="Reset all tags" > android:textSize="20sp"/> > > </LinearLayout> > > <LinearLayout android:id="@+id/TagsLinearLayout" > android:layout_width="fill_parent" > android:layout_height="wrap_content" > android:orientation="vertical"> > > <Spinner android:id="@+id/tag1" > android:layout_width="fill_parent" > android:layout_height="wrap_content"/> > > <Spinner android:id="@+id/tag2" > android:layout_width="fill_parent" > android:layout_height="wrap_content"/> > > <Spinner android:id="@+id/tag3" > android:layout_width="fill_parent" > android:layout_height="wrap_content"/> > > <Spinner android:id="@+id/tag4" > android:layout_width="fill_parent" > android:layout_height="wrap_content"/> > > </LinearLayout> > > <LinearLayout android:id="@+id/ListLinearLayout" > android:layout_width="fill_parent" > android:layout_height="wrap_content"> > > <ListView android:id="@+id/android:list" > android:layout_width="fill_parent" > android:layout_height="wrap_content"/> > > <TextView android:id="@+id/android:empty" > android:layout_width="fill_parent" > android:layout_height="wrap_content" > android:text="No Notes!"/> > > </LinearLayout> > > </LinearLayout> > > > The java code for the spinners: > > private void createSpinners() > { > Log.i("createSpinners","entry"); > int[] spinnerIds = {R.id.tag1, R.id.tag2, R.id.tag3, R.id.tag4}; > this.spinners = new Spinner[spinnerIds.length]; > int i = 0; > for (int spinnerId : spinnerIds) > { > Spinner spinner = (Spinner) findViewById(spinnerId); > populateSpinner(spinner, spinnerId); > spinner.setOnItemSelectedListener(this); > spinners[i] = spinner; > Log.i("createSpinners","exit"); > } > Log.i("createSpinners","exit"); > } > > private void populateSpinner(Spinner spinner, int spinnerId) { > Log.i("Notepadv3", "populateSpinner fetchAllTags"); > // Get all of the rows from the database and create the item list > String[] tags = mDbHelper.fetchAllTags(); > Log.i("Notepadv3", "populateSpinner fetchAllTags done"); > /* > // That code works > ArrayAdapter<CharSequence> adapter = > ArrayAdapter.createFromResource( > this, R.array.tags, android.R.layout.simple_spinner_item); > > adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); > spinner.setAdapter(adapter); > */ > // Switching to that code, will produce an exception > ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, > R.layout.notes_list, spinnerId, tags); > > adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); > spinner.setAdapter(adapter); > } > > > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new M5 SDK! http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---

