نمایش داده های دیتابیس آفلاین در RecyclerView

سوال

سلام به همه دوستان

امیدوارم روز پر از انرژی مثبت رو شروع کرده باشید

بنده اطلاعاتی رو از سمت دیتابیس میگیرم و داخل cursor میریزم. به محضی که cursor رو میشکنم و اطلاعات رو داخل Stringهایی میریزم، داده ها قبل ازینکه به آرایه اضافه بشن بر روی ویوی RecyclerView ست میشن و همین موضوع باعث شده که آخرین داده بر روی تمامی ویوها ست بشه…

به هر طریقی کد زدم مشکل رو نفهمیدم

کد برنامه:

    myDatabase = new MyDatabase(getApplicationContext());
                sqLiteDatabase = myDatabase.getReadableDatabase();
                cursor = sqLiteDatabase.rawQuery("SELECT * FROM " + group + itemMenu, null);
                for (cursor.moveToFirst();!cursor.isAfterLast();cursor.moveToNext()) {
                     SampleInfo sampleInfo = new SampleInfo();

                     if (Integer.parseInt(ration) + 100 >= cursor.getInt(3) &&
                                Integer.parseInt(ration) - 100 <= cursor.getInt(3)) {

                          sampleInfo.name = cursor.getString(1);
                          sampleInfo.family = cursor.getString(2);
                          sampleInfo.num = cursor.getString(3);
                          sampleInfo.sex = cursor.getString(4);
                          sampleInfo.city = cursor.getString(5);
                          arrayInfo.add(sampleInfo);

                      }
                  }

 recyclerView.setAdapter(new RecycleSampleAdapter(arrayInfo, getApplicationContext()));

 

و همچنین موضوع دیگه اینه که من از کلاس AsyncTask هم دارم استفاده میکنم چون با دیتابیس در ارتباطم…

و یه منوی popup قرار دادم تا کاربر با انتخاب آیتم یک این منو یه سری داده رو از دیتابیس بگیره و با انتخاب آیتم بعدی یه سری داده دیگه رو باید بگیره…

خب در اینصورت من نمیتونم cursor رو ببندم چون برنامه کرش میکنه و پیام خطاش اینه که cursor و دیتابیس رو از قبل بستی…

و اگه cursor رو نبندم این مسئله پیش میاد که یه سره داده ها رو بصورت تکراری برای ویو ست میکنه و صفحه من درحال رفرش شدنه…

برای حل این موضوع هم اگه امکانش هست راهنمایی بفرمایید

 

پیشاپیش ممنون از راهنماییاتون دوستان

 

 

 

0
2018-06-18T04:13:56+03:30 0 پاسخ ها کاربر تازه 0

ارسال یک پاسخ