Or wait I was a bit quick there. Give me a moment and I will make a test project for you to see what is happening.
On Tue, Dec 6, 2011 at 1:45 PM, Tomasz Cielecki <[email protected]> wrote: > OK, that seems a bit strange to me. Your suggestion works though. I > would have though that the OverlayItem would explicitly be > implementing Java.Lang.Object rather than just Object so that it would > be unambiguous. > > Maybe someone should make a note about this somewhere so that people > do not make the same mistake as I did. > > On Tue, Dec 6, 2011 at 1:35 PM, Atsushi Eno > <[email protected]> wrote: >> Ah, no that's not a bug :) >> You likely have "using System;" on top of your source and that binds >> "Object" class to System.Object type. Unlike "java.lang" package for >> Java compilers, C# compiler does not import "Java.Lang" by default, so >> you have to explicitly write "using Java.Lang;" . >> >> However, if you do that, C# compiler will error it out because "Object" >> name is now ambiguous between "System.Object" and "Java.Lang.Object". >> So, you will either have to give up using "using" statement or add >> explicit declaration that "using Object = Java.Lang.Object;" . >> >> Atsushi Eno >> >>> So the OverlayItem is having the using Java.Lang; in the top of the >>> file and is implementing Object, but then the compiler thinks it is >>> System.Object rather than Java.Lang.Object. I guess this is a bug that >>> you will have to correct. >>> >>> Meanwhile I am just using >>> >>> protected override Java.Lang.Object CreateItem(int index) >>> { >>> return overlayItems.ElementAt(index); >>> } >>> >>> Which seems to work fine. >>> >>> I have created a bug report: >>> http://bugzilla.xamarin.com/show_bug.cgi?id=2358 >>> >>> On Tue, Dec 6, 2011 at 11:55 AM, Atsushi Eno >>> <[email protected]> wrote: >>>> Yes, as the error message tells, it must be derived from Java.Lang.Object. >>>> >>>> Atsushi Eno >>>> >>>>> Is this because Overlay item is inheriting from System.Object rather >>>>> than Java.Lang.Object? >>>>> >>>>> public class OverlayItem : Object >>>>> >>>>> On Tue, Dec 6, 2011 at 9:45 AM, Tomasz Cielecki<[email protected]> >>>>> wrote: >>>>>> I get the same error even if CreateItem returns OverlayItem. So >>>>>> something is wrong somewhere. >>>>>> >>>>>> On Tue, Dec 6, 2011 at 9:43 AM, Tomasz Cielecki<[email protected]> >>>>>> wrote: >>>>>>> OK. About that OverlayItem. I have a Custom overlay item which looks >>>>>>> like this: >>>>>>> >>>>>>> class NMTOverlayItem : OverlayItem >>>>>>> { >>>>>>> private float[] color; >>>>>>> >>>>>>> public NMTOverlayItem(GeoPoint point, String title, String >>>>>>> snippet, float[] color) >>>>>>> : base(point, title, snippet) >>>>>>> { >>>>>>> this.color = color; >>>>>>> } >>>>>>> >>>>>>> public float[] Color >>>>>>> { >>>>>>> get { return color; } >>>>>>> } >>>>>>> } >>>>>>> >>>>>>> Now in the itenized overlay I have the CreateItem method: >>>>>>> >>>>>>> protected override NMTOverlayItem CreateItem(int index) >>>>>>> { >>>>>>> return overlayItems.ElementAt(index); >>>>>>> } >>>>>>> >>>>>>> I get the following error: >>>>>>> >>>>>>> 'NSPublic.AndroidClient.NMTItemizedOverlay.CreateItem(int)': return >>>>>>> type must be 'Java.Lang.Object' to match overridden member >>>>>>> 'Android.GoogleMaps.ItemizedOverlay.CreateItem(int)' >>>>>>> >>>>>>> Any ideas as to why this is happening? >>>>>>> >>>>>>> On Mon, Dec 5, 2011 at 6:52 PM, Tomasz Cielecki<[email protected]> >>>>>>> wrote: >>>>>>>> Awesome, will give it a go tomorrow :-) >>>>>>>> >>>>>>>> As always good job on the new release! >>>>>>>> >>>>>>>> On Dec 5, 2011 5:38 PM, "Jonathan Pryor"<[email protected]> wrote: >>>>>>>>> On Dec 5, 2011, at 11:25 AM, Tomasz Cielecki wrote: >>>>>>>>>> Due to changes to how sensors work, i.e. stuff being moved into >>>>>>>>>> SensorTypes the samples on GitHub do not work anymore. >>>>>>>>> Changes needed to get the samples working with the new release were >>>>>>>>> done >>>>>>>>> on the release-2-0 branch, which was just merged to master ~10 >>>>>>>>> minutes ago. >>>>>>>>> Please update your repo and see if that fixes it. :-) >>>>>>>>> >>>>>>>>>> Also there has been some changes in the ItemizedOverlay now having >>>>>>>>>> the >>>>>>>>>> CreateItem method registered, but it needs to return a >>>>>>>>>> Java.Lang.Object, does that mean that my custom OverlayItem has to >>>>>>>>>> inherit from Java.Lang.Object? I thought OverlayItem was already a >>>>>>>>>> Java.Lang.Object? >>>>>>>>> OverlayItem inherits Java.Lang.Object, so your class inheriting from >>>>>>>>> OverlayItem will also inherit Java.Lang.Object, just not directly. >>>>>>>>> >>>>>>>>> Subclassing OverlayItem is fine (and required, iirc). >>>>>>>>> >>>>>>>>>> Is there a list of changes made in the newest release somewhere? >>>>>>>>> http://android.xamarin.com/Releases/Mono_for_Android_4/Release_4.0.0#API_Changes >>>>>>>>> >>>>>>>>> - Jon >>>>>>>>> >>>>>>>>> _______________________________________________ >>>>>>>>> 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 >>>>>> >>>>>> -- >>>>>> 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 -- 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
