app_glue android NDK:GetMethodID失败并调用TextView.setText

时间:2013-03-27 17:31:35

标签: java c android-ndk java-native-interface

我正在使用NDK开发本机android项目。我的代码只有C,我需要通过JNI调用一些java函数。

我尝试了,我可以从类中调用某些方法,例如androidviewWindowManage。但是当我尝试使用TextView.setText时,我得到java.lang.NoSuchMethodError例外。

以下是代码:

 JNIEnv* jni;
 state->activity->vm->AttachCurrentThread(&jni, NULL);


 jclass activityClassMine = jni->FindClass("android/widget/TextView");
 if(!(activityClassMine))
 LOGI("can't find TextView class...");

 jmethodID SetTextColour = jni->GetMethodID
                              ( activityClassMine
                              , "setTextColor"
                              , "(I)V");        //this works !!!!
 if(!(SetTextColour))
LOGI("textColour Failed...");

 jmethodID getSetText = jni->GetMethodID
                              ( activityClassMine
                              , "setText"
                              , "(Ljava/lang/CharSequence;)V");

 if(!(getSetText))      //failed                               
 LOGI("setText Failed");

我已经检查了方法的签名,没关系,我已尝试过其他可用的签名,但没有成功...

0 个答案:

没有答案