لیست ویو(حل نشده)
سلام
برای برنامه ام دوتا لیست ویو لازم دارم که اگه روی دکمه اول کلیک بشه یک لیست ویو و اگه رو دکمه دوم کلیک بشه یک لیست ویو دیگه باز بشه ایا میشه فقط با ساختن یک لیست ویو این کار انجام بشه
از این تکه کد میتونید استفاده کنید و بنا بر نیاز تغییرش بدید :
final ListView lstContent = (ListView) findViewById(R.id.lstContent);
Button btnFirstList = (Button) findViewById(R.id.btnFirstList);
Button btnSecondList = (Button) findViewById(R.id.btnSecondList);
ArrayList<StructureItem> firstListItems = new ArrayList<StructureItem>();//اطلاعات اولین لیست ویو
ArrayList<StructureItem> secondListItem = new ArrayList<StructureItem>();//اطلاعات دومین لیست ویو
final AdapterFirst adapterFirst = new AdapterFirst(firstListItems);//اداپتری که بر روی لیست اول ست می شود
final AdapterSecond adapterSecond = new AdapterSecond(secondListItem);//اداپتری که بر روی لیست دوم ست میشود
lstContent.setAdapter(adapterFirst);//برای اولین بار که اکتیویتی باز میشود ،لیست اول نمایش داده خواهد شد
btnFirstList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//با کلیک بر روی اولین دکمه ،اطلاعات اولین لیست نمایش داده میشود
lstContent.setAdapter(adapterFirst);
adapterFirst.notifyDataSetChanged();
}
});
btnSecondList.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
//با کلیک بر روی دومین دکمه ،اطلاعات دومین لیست نمایش داده میشود
lstContent.setAdapter(adapterSecond);
adapterSecond.notifyDataSetChanged();
}
});
activity_main.xml شامل دوتا دکمه و یک لیست ویو می باشد.
من برای هر دو لیست ویو از یک Structure استفاده کردم که شما میتونید برای هر لیست از Structure منحصر به خودش استفاده کنید.
درضمن همیشه سعی کنید ایده را پیاده سازی کنید بعد اگه به مشکل خوردید ،میتونید به صورت سوال بپرسید(البته پیشنهاده من هست)
برای رفتن از اکتیویتی جاری به اکتیویتی مورد نظر از تکه کد زیر استفاده کنید :
Intent intent = new Intent(ActvityMain.this,ActivitySecond.class);
ActivityMain.this.startActivity(intent);
کافیه تکه کد بالا رو داخل Listener هر دکمه ای که میخواید قرار بدید ،فراموش نکنید که حتما باید ActivitySecond رو داخل مانیفست تعریف کنید.
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .