When I ommit the LayoutInflater.From(context) and use what you suggested, I get a compiler error saying that: "An object reference is required for the non-static filed, method, or property 'Android.Views.LayoutInflater.Inflate(int, Android.Views.ViewGroup, bool)'"
Though I found out what the error was to look at the stacktrace in the adb log, which was that I had forgotten to set a height attribute on a textview: I/MonoDroid(18475): UNHANDLED EXCEPTION: Java.Lang.RuntimeException: Exception of type 'Java.Lang.RuntimeException' was thrown. I/MonoDroid(18475): at Android.Runtime.JNIEnv.CallObjectMethod (intptr,intptr,Android.Runtime.JValue[]) [0x00024] in /home/jpobst/Desktop/monodroi d/Mono.Android/src/Runtime/JNIEnv.cs:332 I/MonoDroid(18475): at Android.Views.LayoutInflater.Inflate (int,Android.Views.ViewGroup,bool) [0x0003e] in /home/jpobst/Desktop/monodroid/Mono.An droid/platforms/android-8/src/generated/Android.Views.LayoutInflater.cs:484 I/MonoDroid(18475): at NSPublic.AndroidClient.Adapters.UpdateFreqAdapter.GetView (int,Android.Views.View,Android.Views.ViewGroup) [0x0001a] in C:\ ENM\Dev\WebClient\src\prod\PubWeb\NSPublic.AndroidClient2\Adapters\UpdateFreqAdapter.cs:53 I/MonoDroid(18475): at Android.Widget.BaseAdapter.n_GetView_ILandroid_view_View_Landroid_view_ViewGroup_ (intptr,intptr,int,intptr,intptr) [0x0001 9] in /home/jpobst/Desktop/monodroid/Mono.Android/platforms/android-8/src/generated/Android.Widget.BaseAdapter.cs:420 I/MonoDroid(18475): at (wrapper dynamic-method) object.eb854e94-74fb-41a5-a21f-cda1beb22853 (intptr,intptr,int,intptr,intptr) <IL 0x0001e, 0x00053 > I/MonoDroid(18475): I/MonoDroid(18475): --- End of managed exception stack trace --- I/MonoDroid(18475): java.lang.RuntimeException: Binary XML file line #7: You must supply a layout_height attribute. I/MonoDroid(18475): at android.content.res.TypedArray.getLayoutDimension(TypedArray.java:543) I/MonoDroid(18475): at android.view.ViewGroup$LayoutParams.setBaseAttributes(ViewGroup.java:3599) I/MonoDroid(18475): at android.view.ViewGroup$MarginLayoutParams.<init>(ViewGroup.java:3678) I/MonoDroid(18475): at android.widget.LinearLayout$LayoutParams.<init>(LinearLayout.java:1400) I/MonoDroid(18475): at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:1326) I/MonoDroid(18475): at android.widget.LinearLayout.generateLayoutParams(LinearLayout.java:47) I/MonoDroid(18475): at android.view.LayoutInflater.rInflate(LayoutInflater.java:625) I/MonoDroid(18475): at android.view.LayoutInflater.inflate(LayoutInflater.java:408) I/MonoDroid(18475): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) I/MonoDroid(18475): at nspublic.androidclient.adapters.UpdateFreqAdapter.n_getView(Native Method) I/MonoDroid(18475): at nspublic.androidclient.adapters.UpdateFreqAdapter.getView(UpdateFreqAdapter.java:52) I/MonoDroid(18475): at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:192) I/MonoDroid(18475): at android.view.View.measure(View.java:8366) I/MonoDroid(18475): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) I/MonoDroid(18475): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1017) I/MonoDroid(18475): at android.widget.LinearLayout.measureVertical(LinearLayout.java:386) I/MonoDroid(18475): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) I/MonoDroid(18475): at android.view.View.measure(View.java:8366) I/MonoDroid(18475): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) I/MonoDroid(18475): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) I/MonoDroid(18475): at android.view.View.measure(View.java:8366) I/MonoDroid(18475): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531) I/MonoDroid(18475): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309) I/MonoDroid(18475): at android.view.View.measure(View.java:8366) I/MonoDroid(18475): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138) I/MonoDroid(18475): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250) I/MonoDroid(18475): at android.view.View.measure(View.java:8366) I/MonoDroid(18475): at android.view.ViewRoot.performTraversals(ViewRoot.java:847) I/MonoDroid(18475): at android.view.ViewRoot.handleMessage(ViewRoot.java:1868) I/MonoDroid(18475): at android.os.Handler.dispatchMessage(Handler.java:99) I/MonoDroid(18475): at android.os.Looper.loop(Looper.java:123) I/MonoDroid(18475): at android.app.ActivityThread.main(ActivityThread.java:3691) I/MonoDroid(18475): at java.lang.reflect.Method.invokeNative(Native Method) I/MonoDroid(18475): at java.lang.reflect.Method.invoke(Method.java:507) I/MonoDroid(18475): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:847) I/MonoDroid(18475): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:605) I/MonoDroid(18475): at dalvik.system.NativeStart.main(Native Method) On Fri, Sep 30, 2011 at 6:00 PM, Jonathan Pryor <[email protected]> wrote: > What's the exact exception that you're getting, complete with stack trace? > > Also, most code I've seen uses `LayoutInflater.Inflate(...)`, not > `LayoutInflater.From(context).Inflate(...)`. Could you try skipping the > `LayoutInflater.From(context)` call and use `LayoutInflater.Inflate()` > instead? > > Thanks, > - Jon > > On Sep 30, 2011, at 10:23 AM, Tomasz Cielecki wrote: > >> Hello there, >> >> I am trying to implement the BaseAdapter to use with my Spinner, as >> the data I want to bind to it is not just a string array. So I am >> attempting to implement it, but it keeps throwing an exception that >> the LayoutInflaters Inflate method is an Unkown Member. >> >> My GetView method looks like this: >> >> public override View GetView(int position, View convertView, >> ViewGroup parent) >> { >> UpdateFrequencyViewModel item = >> updateFrequencyCollectionViewModel.ElementAt(position); >> >> var inflater = LayoutInflater.From(context); >> var view = convertView ?? >> inflater.Inflate(Resource.Layout.spinneritem, parent, false); >> >> var text = view.FindViewById(Resource.Id.text) as TextView; >> >> text.SetText(item.Text, TextView.BufferType.Normal); >> >> if (!_views.Contains(view)) >> _views.Add(view); >> >> return view; >> } >> >> Am I getting the wrong LayoutInflater or what am I doing wrong? >> >> -- >> Med Venlig Hilsen / With Best Regards >> Tomasz Cielecki >> http://ostebaronen.dk >> _______________________________________________ >> Monodroid mailing list >> [email protected] >> >> UNSUBSCRIBE INFORMATION: >> http://lists.ximian.com/mailman/listinfo/monodroid > > _______________________________________________ > Monodroid mailing list > [email protected] > > UNSUBSCRIBE INFORMATION: > http://lists.ximian.com/mailman/listinfo/monodroid > -- Med Venlig Hilsen / With Best Regards Tomasz Cielecki http://ostebaronen.dk _______________________________________________ Monodroid mailing list [email protected] UNSUBSCRIBE INFORMATION: http://lists.ximian.com/mailman/listinfo/monodroid
