مشکل در نمایش لیست ویو در tabhost
سلام خسته نباشید
من یک tabhost دارم که پنج تا تب داره. هر کدوم از تب ها هم به یک اکتیویتی متصله که هر اکتیویتی هم یک لیست ویو داره که اطلاعات رو از بانک میخونه. البته برای همه ی پنج تا لیست ویو، یه دونه adapter نوشتم
مشکلم اینجاس که وقتی روی هر کدوم از تب ها کلیک میکنم، اکتیویتی که باز میشه و اطلاعات لیست ویو نمایش داده میشه، به محض اینکه روی تب دیگه کلیک میکنم و وقتی میخوام برگردم رو تب قبلی و لیست ویو قبلی رو ببینم، اطلاعات لیست ویو قبلی نشون داده نمیشه و لیست ویو جدید نمایش داده میشه. روی هر تب که کلیک میکنم، آخرین لیست ویویی که باز شده رو نمایش میده. اینم سور کد tabhostم.
Resources ressources = getResources();
TabHost tabHost = getTabHost();
Intent intentRam = new Intent().setClass(this, ActivityRam.class);
TabSpec tabram = tabHost
.newTabSpec("RAM")
.setIndicator("", ressources.getDrawable(R.drawable.ram))
.setContent(intentRam);
Intent intentPrinter = new Intent().setClass(this, ActivityPrinter.class);
TabSpec tabprinter = tabHost
.newTabSpec("PRINTER")
.setIndicator("", ressources.getDrawable(R.drawable.printer))
.setContent(intentPrinter);
Intent intentCpu = new Intent().setClass(this, ActivityCpu.class);
TabSpec tabcpu = tabHost
.newTabSpec("CPU")
.setIndicator("", ressources.getDrawable(R.drawable.cpu))
.setContent(intentCpu);
Intent intentHdd = new Intent().setClass(this, ActivityHdd.class);
TabSpec tabhdd = tabHost
.newTabSpec("HDD")
.setIndicator("", ressources.getDrawable(R.drawable.hdd))
.setContent(intentHdd);
Intent intentMouse = new Intent().setClass(this, ActivityMouse.class);
TabSpec tabmouse = tabHost
.newTabSpec("MOUSE")
.setIndicator("", ressources.getDrawable(R.drawable.mouse))
.setContent(intentMouse);
tabHost.addTab(tabmouse);
tabHost.addTab(tabhdd);
tabHost.addTab(tabcpu);
tabHost.addTab(tabprinter);
tabHost.addTab(tabram);
کد متد onResume رو به این شکل تغییر بدید:
@Override
protected void onResume() {
super.onResume();
if (adapter != null) {
populateFromDatabase();
adapter.notifyDataSetChanged();
}
}
البته مدل کد نویسی ایراد داره. استفاده از یه لیست مشترک و تعریف n تا اکتیویتی عین هم و ... میشد بجای اینهمه اکتیویتی 1 اکتیویتی با سوییچ دسته بندی داشته باشید که نگهداری برنامه هم براتون راحت تر میشد
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .