بروز خطا
[message]
اشتراک در سوال
رای ها
[dataList]
درخواست کمک برای نمایش مقادیر cursor داخل ریسایکلر ویو
من query میزنم به دیتابیس و مقادیر رو از جدول مدنظر می خونم و واریز می کنم به cursor حالا چجوری مقادیر داخل cursor رو داخل ریسایکلر ویو نمایش بدم ؟ باید تبدیل کنم به آرایه و بخاطر همین کار میام cursor رو iterate می کنم و میریزم داخل ArrayList ولی تعداد رو میده ولی اسم ستون ها و مقادیرداخلشون رو نمیده ممنون میشم منو از شر این مشکل رها کنید
نخواندن نام ستون ها از دیتابیس ( با لاگ گرفتن از cursur,getCout() تعداد نمایش داده می شود منتهی نام ستون ها رو نمیده لطفاً کمک کنید.
برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال
وحید گروسی
8 سال پیش
0
0
public Object[] createObject(Class clazz, Cursor cursor) {
int columnCount = cursor.getColumnCount();
Object[] objects = new Object[cursor.getCount()];
int index = 0;
while (cursor.moveToNext()) {
Object object = null;
try {
object= clazz.newInstance();
objects[index] = object;
} catch (InstantiationException e) {
// e.printStackTrace();
} catch (IllegalAccessException e) {
// e.printStackTrace();
}
for (int i = 0; i < columnCount; i++) {
int type = cursor.getType(i);
String fieldName = cursor.getColumnName(i);
try {
Field field = clazz.getDeclaredField(fieldName);
switch (type) {
case Cursor.FIELD_TYPE_NULL:
field.set(object, null);
break;
case Cursor.FIELD_TYPE_INTEGER:
field.set(object, cursor.getInt(i));
break;
case Cursor.FIELD_TYPE_FLOAT:
field.set(object, cursor.getFloat(i));
break;
case Cursor.FIELD_TYPE_STRING:
field.set(object, cursor.getString(i));
break;
}
} catch (IllegalAccessException e) {
// e.printStackTrace();
} catch (NoSuchFieldException e) {
// e.printStackTrace();
}
}
index++;
}
return objects;
}
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .