PDA

View Full Version : ایجاد Expand Listview بصورت داینامیک



reza_azizi2010
شنبه 15 شهریور 1393, 18:07 عصر
سلام
من توی برنامه میخاستم از دوتا لیست ویو معمولی استفاده کنم، به اینصورت با کلیک روی بعضی از گزینه های لیست اول، وارد یک صفحه دیگه میشد و یه لیست دیگه نمایش داده میشه. اما تصمیم عوض شد و حالا میخام از expand listview استفاده کنم. من یه کد پیدا کردم که توش بصورت دستی لیست رو پر کرده بود به این صورت :

private void prepareListData() {
listDataHeader = new ArrayList<String>();
listDataChild = new HashMap<String, List<String>>();

// Adding child data
listDataHeader.add("Top 250");
listDataHeader.add("Now Showing");
listDataHeader.add("Coming Soon..");

// Adding child data
List<String> top250 = new ArrayList<String>();
top250.add("The Shawshank Redemption");
top250.add("The Godfather");
top250.add("The Godfather: Part II");
top250.add("Pulp Fiction");
top250.add("The Good, the Bad and the Ugly");
top250.add("The Dark Knight");
top250.add("12 Angry Men");

List<String> nowShowing = new ArrayList<String>();
nowShowing.add("The Conjuring");
nowShowing.add("Despicable Me 2");
nowShowing.add("Turbo");
nowShowing.add("Grown Ups 2");
nowShowing.add("Red 2");
nowShowing.add("The Wolverine");

List<String> comingSoon = new ArrayList<String>();
comingSoon.add("2 Guns");
comingSoon.add("The Smurfs 2");
comingSoon.add("The Spectacular Now");
comingSoon.add("The Canyons");
comingSoon.add("Europa Report");

listDataChild.put(listDataHeader.get(0), top250); // Header, Child data
listDataChild.put(listDataHeader.get(1), nowShowing);
listDataChild.put(listDataHeader.get(2), comingSoon);
}

اما من میخام بصورت داینامیک از توی دیتابیس انجام بشه. من واسه لیستهای قبلیم دوتا ArrayList دارم که اطلاعات کامل توش ذخیره میشه، میشه از همین لیستها استفاده کنم؟
کلا راه پر کردن Expand Listview بصورت داینامیک چیه ؟
و یه سوال دیگه، بقیه اطلاعات لیست رو کجا نگه دارم؟ منظورم اطلاعاتیه که موقع کلیک شدن روی لیست باید نمایش داده بشه