Typ jako klasa w klasie w Javie a C++

0

Cześć!

Dopisując możliwość odpalenia aplikacji na Androidzie, muszę użyć pewnych bibliotek które są napisane w Javie.
Mam problem z wykonaniem funkcji która zwraca wartość jako pewien typ klasy która jest zdefiniowana w klasie.

Wygląda to mniej więcej tak:

package org.qt5;

import android.util.Log;

public class TestClass {
    private final static String TAG = "TestClass";

    public static class TestType {
        public int val;
    }

    TestType test(){
        Log.d(TAG, "test start");
        TestType tt = new TestType();
        tt.val = 1;
        return tt;
    }
}
    QAndroidJniObject jTestClass("org/qt5/TestClass");
    QAndroidJniObject o = jTestClass.callObjectMethod(
                "test",
                "()Lorg/qt5/TestClass/TestType;"
                );
    qDebug() << "isValid: " << o.isValid(); // false :(

Klasa TestType jest w klasie TestClass i podejrzewam że zapis L<fully-qualified-name>; nie działa.

Pisząc wrappera bałem się że natrafię na jakiś zaułek bez wyjścia, czy to właśnie to?

1

Co za szczęście, chyba się udało ()Lorg/qt5/TestClass$TestType;

0

Dokładnie tak samo jest z enum. Ile ja się tego naszukałem jakiś czas temu, żeby potem znaleźć rozwiązanie na stacku.

1 użytkowników online, w tym zalogowanych: 0, gości: 1