Quantcast
Channel: Recent Threads — Xamarin Community Forums
Viewing all articles
Browse latest Browse all 204402

Java Binding: member 'cannot be accessed from outside package'

$
0
0

I've created a java binding project for iSpeech. Had to a couple of things (not relevant I don't think) and can build it fine. But when I go to run it, I get an error in a generated java file:

SpeechSynthesis_StateChangedListenerImplementor.java(30,30): Error: org.ispeech.SpeechSynthesis.StateChangedListener is not public in org.ispeech.SpeechSynthesis; cannot be accessed from outside package org.ispeech.SpeechSynthesis.StateChangedListener

This java file is found at \obj\Debug\android\src\mono\org\ispeech\SpeechSynthesis_StateChangedListenerImplementor.java

Here's the java snippet from that file:

public class SpeechSynthesis_StateChangedListenerImplementor
    extends java.lang.Object
    implements
        mono.android.IGCUserPeer,
        org.ispeech.SpeechSynthesis.StateChangedListener
{

Here's the (relevant portions, I think...) generated C#:

public partial class SpeechSynthesis : global::Java.Lang.Object, global::Org.Ispeech.ISynthesizer 
{
[Register ("org/ispeech/SpeechSynthesis$StateChangedListener")]
public abstract class StateChangedListener 
{

    internal StateChangedListener ()
    {
    }

    // Metadata.xml XPath field reference: path="/api/package[@name='org.ispeech']/interface[@name='SpeechSynthesis.StateChangedListener']/field[@name='CANCELED']"
    [Register ("CANCELED")]
    public const int Canceled = (int) 5;

    // Metadata.xml XPath field reference: path="/api/package[@name='org.ispeech']/interface[@name='SpeechSynthesis.StateChangedListener']/field[@name='CLOSED']"
    [Register ("CLOSED")]
    public const int Closed = (int) 1;
    }
}

I've tried making it public by adding this to my Metadata.xml:

<attr path="/api/package[@name='org.ispeech']/interface[@name='SpeechSynthesis.StateChangedListener']" name="visibility">public</attr>

And also removing it (although I do need it eventually) with this:

<remove-node path="/api/package[@name='org.ispeech']/interface[@name='SpeechSynthesis.StateChangedListener']"/>

But no dice... any ideas?


Viewing all articles
Browse latest Browse all 204402

Trending Articles