Mam niestandardowy adapter dla mojego ListView
Chcę dodać nazwy projektów jako nagłówki do moich żądań pracy. Dodanie pojedynczego nagłówka działa dobrze, ale nie jestem pewien, jak dodać wiele nagłówków za pomocą addHeaderView
. Nie rozumiem, gdzie dokładnie umieścić setAdapter
lub czy ma on być umieszczony wiele razy?Jak dodać wiele widoków nagłówka w ListView
To jest mój kod Java na jeden cel, który działa:
mListView = (ListView)findViewById(R.id.dashboardList);
View header1 = getLayoutInflater().inflate(R.layout.listview_header, null, false);
tv = (TextView) header1.findViewById(R.id.listHeader);
adapter = new MyCustomAdapter(MyDashboardActivity.this, R.layout.mydashboard_row, dashboardBean);
tv.setText("Project 1");
mListView.addHeaderView(header1, null, false);
for (int i=0; i < 7; i++) {
dashboardBean.add(new DashboardBean(workRequests[i],status[i],actualHours[i]));
}
mListView.setAdapter(adapter);
Teraz dla dwóch nagłówków Próbowałem to:
mListView = (ListView)findViewById(R.id.dashboardList);
View header1 = getLayoutInflater().inflate(R.layout.listview_header, null, false);
tv = (TextView) header1.findViewById(R.id.listHeader);
adapter = new MyCustomAdapter(MyDashboardActivity.this, R.layout.mydashboard_row, dashboardBean);
tv.setText("RxOffice");
mListView.addHeaderView(header1, null, false);
for (int i=0; i < 4; i++) {
dashboardBean.add(new DashboardBean(workRequests[i],status[i],actualHours[i]));
}
tv.setText(Project 2");
mListView.addHeaderView(header1, null, false);
for (int i=4; i < workRequests.length; i++) {
dashboardBean.add(new DashboardBean(workRequests[i],status[i],actualHours[i]));
}
mListView.setAdapter(adapter);
Ale to nie działa! Daje mi tylko nagłówek projektu 2 i wszystkie 7 wpisów poniżej. Czy ktoś mógłby mi powiedzieć, co jest nie tak? Zgaduję, że ma to coś wspólnego z setAdapter
. Dzięki!
Przeczytałem o tym. Chciałem wiedzieć, czy mógłbym to zrobić bez użycia 'MergeAdapter'. Okazuje się, że nie mogę. Dzięki – Harsh