نمایش داده های دیتابیس آفلاین در 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) + ۱۰۰ >= cursor.getInt(۳) && Integer.parseInt(ration) - 100 <= cursor.getInt(3)) { sampleInfo.name = cursor.getString(1); sampleInfo.family = cursor.getString(۲); sampleInfo.num = cursor.getString(۳); sampleInfo.sex = cursor.getString(۴); sampleInfo.city = cursor.getString(۵); arrayInfo.add(sampleInfo); } } recyclerView.setAdapter(new RecycleSampleAdapter(arrayInfo, getApplicationContext())); |
و همچنین موضوع دیگه اینه که من از کلاس AsyncTask هم دارم استفاده میکنم چون با دیتابیس در ارتباطم…
و یه منوی popup قرار دادم تا کاربر با انتخاب آیتم یک این منو یه سری داده رو از دیتابیس بگیره و با انتخاب آیتم بعدی یه سری داده دیگه رو باید بگیره…
خب در اینصورت من نمیتونم cursor رو ببندم چون برنامه کرش میکنه و پیام خطاش اینه که cursor و دیتابیس رو از قبل بستی…
و اگه cursor رو نبندم این مسئله پیش میاد که یه سره داده ها رو بصورت تکراری برای ویو ست میکنه و صفحه من درحال رفرش شدنه…
برای حل این موضوع هم اگه امکانش هست راهنمایی بفرمایید
پیشاپیش ممنون از راهنماییاتون دوستان
ارسال یک پاسخ
شما برای افزودن پاسخ جدید یا باید وارد شوید یا ثبت نام کنید. ورود ثبت نام.