لیست ویو
با سلام .
فرض کنید که چهار تا دکمه به اسم های زیر داریم....
btn_sonnati
btn_rock
btn_jazz
btn_pop
من چطوری میتونم وقتی که روی هر کدووم از این دکمه ها کلیک شد برم توو لیست ویوی مربوطه ی همون دکمه که داره اطلاعات رو از دیتابیس میخونه ...
آیا باید برای هر دکمه یک لیست ویو
یک آداپتر
و یک اکتیویتی جداگونه درست کنم ؟؟؟
آیا توو دیتابیس هم باید برای بخش سنتی با بخش مثلا راک یک table جداگونه در نظر بگیرم یا نه ...؟؟؟
شما فقط نیاز به یک لیست ویو دارید. بر روی هر دکمه ای که کلیک شد به برنامه دستور میدهید که این قسمت از دیتابیس را در لیست ویو نمایش دهد.
برای راه حل این مسئله باید برای هر intent که بر روی Button خودتون گذاشتید مقدار putExtra هم در آن قرار دهید و در اکتیویتی که ListView در آن قرار دارد به وسیله دستور Switch/Case آن ها را از هم جدا کنید.
در کلاسی که Button ها در آن قرار دارند:
button1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this, ListView.class);
intent.putExtra("button", 103);
startActivity(intent);
}
});
button2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(MainActivity.this, ListView.class);
intent.putExtra("button", 104);
startActivity(intent);
}
});
در کلاس ListView آنها را دریافت کنید:
int data = getIntent().getExtras().getInt("button");
switch (data) {
case 100:
//show list 1
break;
case 101:
//show list 1
break;
default:
break;
}
برای یادگیری بیشتر بخش کنترل برنامه قسمت 1 از آموزش ها را مطالعه بفرمایید .
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .