Har*_*rsh 6 android android-listview
我有一个自定义适配器,我ListView想将项目名称添加为工作请求的标题.添加单个标头工作正常,但我不知道如何使用添加多个标头addHeaderView.我不明白到底要放在哪里setAdapter或者它应该多次放置?
这是我的单个标头的java代码,它有效:
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);
Run Code Online (Sandbox Code Playgroud)
现在,我尝试了两个标题:
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);
Run Code Online (Sandbox Code Playgroud)
但这不起作用!它只给我Project 2标题和它下面的所有7个条目.谁能告诉我有什么问题?我猜这与它有关setAdapter.谢谢!
Bar*_*rak 11
我不认为你想做的事情可能就像你想要做的那样.当你使用addHeaderView它包装你ListAdapter的HeaderViewListAdapter.我在这里查看了文档,这似乎暗示你可以有多个标题,但它们都会在顶部(duh,header).
这听起来像你真正想要的是分离器......
您可以使用CommonWare的MergeAdapter.它将允许您插入适配器和视图(以您希望的任何顺序),并将它们作为单个适配器呈现给列表视图.您只需为每个内容部分提供标题和适配器,然后将其设置为列表.
伪代码示例:
myMergeAdapter = new MergeAdapter();
myMergeAdapter.addView(HeaderView1);
myMergeAdapter.addAdapter(listAdapter1);
myMergeAdapter.addView(HeaderView2);
myMergeAdapter.addAdapter(listAdapter2);
setListAdapter(myMergeAdapter);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14482 次 |
| 最近记录: |