Hi Jason,

Thanks for the help, I'll post the stack trace below. Maybe I'm
creating the view incorrectly. I tried something like:

    public class MyChildView extends LinearLayout
    {
        public MyChildView(Context context)
        {
            super(context);
        }
    }

    // Inside my BaseExpandableListAdapter extended class:
    public View getChildView(int groupPosition,
                                         int childPosition,
                                         boolean isLastChild,
                                         View convertView,
                                         ViewGroup parent)
    {
        MyChildView mcv = new
MyChildView(MyAdapter.this.getContext());
        mcv.setLayoutParams(new
LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
        mcv.setOrientation(LinearLayout.HORIZONTAL);
        mcv.addView(new ImageView(...));
        mcv.addView(new TextView(...));
        return mcv;  // <-- exception after return.
    }

Returning a TextView like in the API sample works ok. Here's the stack
trace:

11-04 02:01:23.602: ERROR/AndroidRuntime(190): Uncaught handler:
thread main exiting due to uncaught exception
11-04 02:01:23.851: ERROR/AndroidRuntime(190):
java.lang.ClassCastException: android.widget.LinearLayout$LayoutParams
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.ListView.setupChild(ListView.java:1646)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.ListView.makeAndAddView(ListView.java:1619)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.ListView.fillDown(ListView.java:601)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.ListView.fillSpecific(ListView.java:1189)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.ListView.layoutChildren(ListView.java:1454)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.AbsListView.onLayout(AbsListView.java:937)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.View.layout(View.java:5637)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.FrameLayout.onLayout(FrameLayout.java:294)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.View.layout(View.java:5637)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.LinearLayout.layoutVertical(LinearLayout.java:999)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.LinearLayout.onLayout(LinearLayout.java:920)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.View.layout(View.java:5637)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.FrameLayout.onLayout(FrameLayout.java:294)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.View.layout(View.java:5637)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.LinearLayout.setChildFrame(LinearLayout.java:1119)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.LinearLayout.layoutVertical(LinearLayout.java:999)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.LinearLayout.onLayout(LinearLayout.java:920)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.View.layout(View.java:5637)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.widget.FrameLayout.onLayout(FrameLayout.java:294)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.View.layout(View.java:5637)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.ViewRoot.performTraversals(ViewRoot.java:771)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.view.ViewRoot.handleMessage(ViewRoot.java:1103)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.os.Handler.dispatchMessage(Handler.java:88)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.os.Looper.loop(Looper.java:123)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
android.app.ActivityThread.main(ActivityThread.java:3742)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
java.lang.reflect.Method.invokeNative(Native Method)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
java.lang.reflect.Method.invoke(Method.java:515)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
com.android.internal.os.ZygoteInit
$MethodAndArgsCaller.run(ZygoteInit.java:739)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
com.android.internal.os.ZygoteInit.main(ZygoteInit.java:497)
11-04 02:01:23.851: ERROR/AndroidRuntime(190):     at
dalvik.system.NativeStart.main(Native Method)


Thanks



On Nov 4, 12:47 am, "Jason Parekh" <[EMAIL PROTECTED]> wrote:
> Hi Mark,
>
> I just tried as you suggested with the ExpandableList1 sample, and I don't
> see any exceptions.  Can you print the stack of the exception you're seeing?
>
> You can browse the source athttp://git.source.android.com
>
> jason
>
> On Mon, Nov 3, 2008 at 2:33 PM, Mark Wyszomierski <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > Trying to implement BaseExpandableListAdapter.getChildView() but it
> > throws a class cast exception if I try returning any descendant of
> > View, such as LinearLayout, or ViewGroup:
>
> >     public View BaseExpandableListAdapter.getChildView()
> >     {
> >          return new LinearLayout(..);
> >     }
>
> > The API sample returns a TextView, which doesn't crash. What's special
> > about TextView that works, but ViewGroup will not? I thought they both
> > derive from View? This used to work in earlier versions of the SDK.
>
> > Is there anything like browse source in svn that will let me just look
> > at the source of TextView online or do I have to download the entire
> > source tree to do this?
>
> > Thanks
--~--~---------~--~----~------------~-------~--~----~
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
[EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to