31 using namespace QtJniTypes;
32 if (!object.isValid())
34 const QByteArray classname(object.className());
36 if (classname == Traits<String>::className())
37 return object.toString();
38 else if (classname == Traits<Integer>::className())
39 return object.callMethod<jint>(
"intValue");
40 else if (classname == Traits<Long>::className())
41 return QVariant::fromValue<
long>(object.callMethod<jlong>(
"longValue"));
42 else if (classname == Traits<Double>::className())
43 return object.callMethod<jdouble>(
"doubleValue");
44 else if (classname == Traits<Float>::className())
45 return object.callMethod<jfloat>(
"floatValue");
46 else if (classname == Traits<Boolean>::className())
47 return QVariant::fromValue<
bool>(object.callMethod<jboolean>(
"booleanValue"));
50 const jclass className = env.findClass(Traits<JQtAbstractItemModel>::className());
51 if (env->IsInstanceOf(object.object(), className))
52 return QVariant::fromValue(QAndroidItemModelProxy::createNativeProxy(object));