آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

درخواست کمک برای نمایش مقادیر cursor داخل ریسایکلر ویو

وحید گروسی  8 سال پیش  8 سال پیش
0 0

من 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;
  }

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .