2017-09-21 1 views
0

J'ai un fichier .aar d'android. J'essaie de l'utiliser dans mon application xamarin.android. J'ai suivi les étapes de la donnée dans le lien https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/n'implémente pas le membre d'interface 'IComparable.CompareTo (Object)'

mais quand je suis en train de construire ma bibliothèque, je reçois l'erreur suivante

« ne pas mettre en œuvre un membre d'interface « IComparable.CompareTo (Object) » »

J'ai trouvé une solution pour cela où il est mentionné que dans metadata.xml nous devons ajouter un attribut. alors j'ai ajouté la ligne suivante il

path="/api/package[@name='com.logicjunction.ljindoorandroidsdk']/class[@name='FloorPlanBeaconsMapping']/implements[@name='java.lang.Comparable']" 

name = "type"> java.lang.Comparable>

Mais toujours obtenir la même erreur. Comment je peux réparer ça?

+0

Avez-vous essayé d'ajouter une classe partielle au dossier Additions avec la méthode 'int Java.Lang.IComparable.CompareTo (Java.Lang.Object obj)'? –

+0

avez-vous un code d'échantillon pour cela? – anand

+0

vérifiez ceci: https://sorokoletov.com/2016/02/29/material-date-time-picker-available-for-xamarin-android-apps-bindings/ à partir de: "Pour résoudre le 3ème problème, nous devons ajouter une classe partielle dans le dossier Additions: " –

Répondre

0

Obtenir l'erreur lors de la construction de la bibliothèque sans implémentation de l'interface IComparable.CompareTo:

The error'

Pour résoudre le problème, besoin de créer à « ajouts » dossier une classe partielle de la classe de la bibliothèque qui exige membre d'interface mise en œuvre 'IComparable.CompareTo (Object)', comme ci-dessous:

partial class with interface IComparable

L'espace de nommage devrait être le même comme à la bibliothèque de liaison, dans ce cas, il est: "Hirondelle.Date4j".

using Java.Lang; 
namespace Hirondelle.Date4j 
{ 
    public partial class DateTime : Object, IComparable 
    { 
     int IComparable.CompareTo(Object obj) 
     { 
      return CompareTo((DateTime)obj); 
     } 
    } 
} 

Ensuite, la bibliothèque doit être construite avec succès.