View Full Version : ArrayList دو ستونی برای نمایش اطلاعات دیتابیس
rezapak8
چهارشنبه 18 فروردین 1395, 08:23 صبح
سلام دوستان. من یه لیستی دارم که مقداری رو از دیتابیس برمیگردونه.
چون جدول دیتابیسم 3 ستون داره، میخوام یه لیست ویو سفارشی درست کنم که سه ستون رو ساپورت کنه و این کارم کردم...
اما تو تعریف Arraylist<> نمیدونم چجوری دو ستونه بنویسم و چجوری به نمایش درش بیارم.
ممنون میشم اگر کد،راهنمایی ،سرنخ،آموزش و یا لینکی دارید برای من بذارید تا بتونم استفاده کنم.
aliireza
چهارشنبه 18 فروردین 1395, 08:48 صبح
Arraylist دقیقا مثل array هست و ساختار key و value نداره. شما برای اینکار باید از Hashmap استفاده کنی.
به این صورت که یک مقداری رو به عنوان key و مقدار دوم رو value قرار میدی و با فراخوانی هر key میتونی به value اون دسترسی داشته باشی
rezapak8
چهارشنبه 18 فروردین 1395, 08:55 صبح
والا راستش من تازه کار هستم... زیاد حرفه ای نیستم... میتونید بیشتر کمک کنید یا لینک مفید در این رابطه بدید؟
msroid
چهارشنبه 18 فروردین 1395, 09:59 صبح
سلام
شما اول یه مدل داده نیاز دارید. مثلا جدول شما سه تا فیلد داره (id, name, status) حالا شما میای یه کلاس ایجاد میکنی که سه تا فیلد داره مثل همون جدول داده.
بعدش زمانی که اطلاعات رو داری از جدول میخونی یه حلقه میذاری و درون این حلقه هر بار یه شی از این کلاس میسازی و داده هارو درون فیلد مورد نظر قرار میدی. حالا یه ArrayList که نوع داده ای که قبول میکنه مثل اون مدل داده(همون کلاسی که ساختی) باشه رو تعریف میکنی و هر دفعه که حلقه اجرا میشه اون شی از کلاس رو به ArrayList اضافه میکنی.
class Test_Class{
int id;
String name;
boolean status;
}
ArrayList<Test_Class> data = new ArrayList<>();
Cursor c = ...
while(c.moveToNext()){
Test_Class model = new TestClass();
model.id = c.getInt(...);
.
.
data.add(model);
}
godofphp
چهارشنبه 18 فروردین 1395, 10:44 صبح
برای اینکه اطلاعات پایگاه داده رو بصورت کاستومایز درون لیست ویو نمایش بدهید باید از کلاس CursorAdapter استفاده کنید .
یک کلاس جدید ایجاد کنید به اسم myadapter و از cursorAdapter ارث بری کنید . لیست ویو که میخواهید اطلاعات پایگاه داده رو درون اون نمایش بدهید از این کلاس آداپتر پر کنید
اینترنت سرچ کنید مثال ها و آموزش های زیادی هست
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.