Может ли функция обратного вызова JNI использовать член класса? - PullRequest
0 голосов
/ 12 декабря 2011

Я хочу использовать член класса "tvLog" в функции PrintLog (), которая будет вызываться в JNI в C ++.Но это вызвало ошибку «Завершение работы виртуальной машины .... FATAL EXCEPTION: main ....».Может кто-нибудь сказать мне, почему?

simple_test.java:

public class simple_test extends Activity {
    private TextView tvLog = (TextView)findViewById(R.id.LogTextView);

    public int PrintLog(int i) {
        tvLog.setText("Log from JNI");
        return 0;
    }
}

demo_jni.cpp

...
mid = env->GetMethodID(cls, "PrintLog", "(I)I");
...
int ret = env->CallIntMethod(obj, mid, 1);
...

main.xml:

<TextView android:text="" android:layout_x="14dp" android:layout_y="147dp" android:layout_width="290dp" android:layout_height="98dp" android:id="@+id/LogTextView"></TextView>

1 Ответ

0 голосов
/ 12 декабря 2011

private TextView tvLog ==> static private TextView tvLog

...