2017-04-26 98 views
3

当我返回从MyActivity Java方法的字符串,我可以操纵QAndroidJniObject阵列

QAndroidJniObject asdf = QtAndroid::androidActivity().callObjectMethod("getPath", "(I)Ljava/lang/String;", 10) 

qInfo() << asdf.toString(); 

打印,但如果我想要什么返回数组?如何用C++来操作它以及如何将它打印出来?

public class MyActivity extends QtActivity 
{ 

    private String [] imagePaths = new String[100]; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 

     super.onCreate(savedInstanceState); 

     //some code 
    } 

    public String [] getPath (int index) { 

     /*some code*/ 
     return imagePaths; 
    } 
} 

回答

0

您的任务更好地使用

jobjectArray asdf = QtAndroid::androidActivity() 
     .callMethod<jobjectArray>("getPath", "(I)Ljava/lang/String;", 10); 

相反

QAndroidJniObject asdf = QtAndroid::androidActivity() 
     .callObjectMethod("getPath", "(I)Ljava/lang/String;", 10)