Search code examples
c#androidxamarin.androidbraintreexamarin-binding

Error while trying to create a android native binding (implementing interface)


So i'm trying to build a c# binding from a Android AAR, and i was following this guide https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/

But i'm running into an error like this

Severity Code Description Project File Line Suppression State Error CS0534 'VaultManagerPaymentMethodsAdapter' does not implement inherited abstract member 'RecyclerView.Adapter.OnBindViewHolder(RecyclerView.ViewHolder, int)' Braintree.DropIn Path\Braintree.DropIn\obj\Release\generated\src\Com.Braintreepayments.Api.Dropin.Adapters.VaultManagerPaymentMethodsAdapter.cs 9 Active

And

Severity Code Description Project File Line Suppression State Error CS0534 'VaultManagerPaymentMethodsAdapter' does not implement inherited abstract member 'RecyclerView.Adapter.OnCreateViewHolder(ViewGroup, int)' Braintree.DropIn Path\Braintree.DropIn\obj\Release\generated\src\Com.Braintreepayments.Api.Dropin.Adapters.VaultManagerPaymentMethodsAdapter.cs 9 Active

But if i try to add things to MetaData, i get errors saying that its already defined

     <add-node path="/api/package[@name='com.braintreepayments.api.dropin.adapters']/class[@name='VaultManagerPaymentMethodsAdapter']">
    <method abstract="false"
            deprecated="not deprecated"
            final="false"
            name="onBindViewHolder"
            native="false"
            return="void"
            static="false"
            synchronized="false"
            visibility="public">
      <parameter name="holder"
                 type="android.support.v7.widget.RecyclerView.ViewHolder">
      </parameter>
      <parameter name="position"
                 type="int">
      </parameter>

    </method>
  </add-node>

  <add-node path="/api/package[@name='com.braintreepayments.api.dropin.adapters']/class[@name='VaultManagerPaymentMethodsAdapter']">
    <method abstract="false"
            deprecated="not deprecated"
            final="false"
            name="onCreateViewHolder"
            native="false"
            return="android.support.v7.widget.RecyclerView.ViewHolder"
            static="false"
            synchronized="false"
            visibility="public">
      <parameter name="parent"
                 type="android.view.ViewGroup">
      </parameter>
      <parameter name="viewType"
                 type="int">
      </parameter>

    </method>
  </add-node>

any inputs would be appreciated


Solution

  • The temporary solution to this was to remove the node , not the ideal solution but since i don't need that specific thing, i just removed it