بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

نمایش آیتم های قبلی و بعدی از روی دیتابیس

مدیریت گفتگو
underomeda 12 سال پیش
آخرین تغییر: 12 سال پیش

سلام 

من  توی برنامه ام یه بانک اطلاعاتی  دارم ،یه لیست ویو هم که ایتم هارو در یک اکتیویتی نشون میده و روی هر ایتمی کلیک  میکنم متن کلی رو در اکتیوتی که activityshow نام داره  نمایش میده حالا می خوام در همین اکتیویتی یعنی ActivityShow  که یه textview  برای title و یک textview برای متن هست میخوام  یه دکمه بزارم ایتم های بعدی رو نمایش بده کسی هست کمک کنه؟درضمن دستورات بانک من در کلاس G هست.

 

نظرات

uncocoder 12 سال پیش
حامد جان، اگر خودت سئوالی با عنوان «جواب نگرفتم مشکل کجاست» ببینی، می تونی متوجه شی که منظور سئوال چیه؟ تمیز بنویسیم.

پاسخ‌ها 2

Alireza.b 12 سال پیش

یک آرایه String (یا هر چیز دیگری) درست کنید و با select کردن جدول و با استفاده از do while تک تک row ها را از cursor به آرایه انتقال دهید.

یک فیلد سراسری با مقدار پیش فرض 0 نیز درست کرده و هر بار کلیک که شد، با متد get خانه مربوطه را از آرایه خوانده و یک عدد به فیلد سراسری اضافه کنید. به عنوان مثال:

private ArrayList<String> Name = new ArrayList<String>();
sqlite = db.getWritableDatabase(); Cursor Cursor = sqlite.rawQuery("select * from Table", null); Name.clear();
if(MaddahCursor.moveToFirst()) { do { Name.add(Cursor.getString(Cursor.getColumnIndex("name")));
} while (Cursor.moveToNext()); Cursor.close(); db.close(); sqlite.close(); }

حالا در onClick دکمه:

 btnClick.setOnItemClickListener(new OnItemClickListener() {
			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
					long arg3) {
				String current_Name = Name.get(i);
i++; } });

نظرات

Alireza.b 12 سال پیش
این روش درسته. شما متن خطا رو بگین.
underomeda 12 سال پیش
خودم جواب گرفتم
MJ 12 سال پیش

بستگی به ساختار برنامه ت راه حل زیاده

ساده ترین کار اینه که با یه query ساده به ازای شماره رکورد فعلی ، رکورد بعدی رو پیدا کنی

مثلا اگه الان رکورد با شماره 100 داره نشون داده میشه می تونی query بزنی رکورد 101 رو نشون بده (الیته این بهترین راه نیست و باید توجه کنی که اگه رکوردی دیلیت شد پیش بینی کنی.. مثلا بگی اولین رکورد با آی دی بزرگتر از 100 و...)

توی query زدن به حجم اطلاعاتی هم که لود می کنی توجه کن. همه ی گوشی ها یه محدودیت رم دارن که اگه ازش بیرون بزنی برنامه فورس کلوز میشه.

برا خود من پیش اومده بود با دوربین عکس می گرفتم و به صورت داینامیک داخل ایمیج ویو ها لود می کردم. بعد چند تا عکس مموری استفاده شده رو چک کردم، روی اس3 مینی بیشتر از فکر کنم 20 مگ فورس کلوز می داد، روی نوت 2 اگه اشتباه نکنم 45 مگ..

نظرات

m_mramezani 12 سال پیش
یه پیشنهاد اسکیو الی که به نظرم میرسه که حذف شده ها رو هم مد نظر میگیره اینه که بگی تمامی آی دی های بزرگتر از این که الان داری رو نشون بده و تو لیست اولین گزینه رو بعد از ASC کردن نمایش بده !

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