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
-~----------~----~----~----~------~----~------~--~---

Reply via email to