
这是我的单个标头的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,false);for (int i=0; i < 7; i++) { dashboardBean.add(new DashboardBean(workRequests[i],status[i],actualHours[i]));}mListVIEw.setAdapter(adapter); 现在,我尝试了两个标题:
mListVIEw = (ListVIEw)findVIEwByID(R.ID.dashboardList);VIEw header1 = getLayoutInflater().inflate(R.layout.ListvIEw_header,dashboardBean);tv.setText("RxOffice");mListVIEw.addheaderVIEw(header1,false);for (int i=0; i < 4; i++) { dashboardBean.add(new DashboardBean(workRequests[i],actualHours[i])); }tv.setText(Project 2");mListVIEw.addheaderVIEw(header1,false);for (int i=4; i < workRequests.length; i++) { dashboardBean.add(new DashboardBean(workRequests[i],actualHours[i]));}mListVIEw.setAdapter(adapter); 但这不起作用!它只给我Project 2标题和它下面的所有7个条目.谁能告诉我有什么问题?我猜它与setAdapter有关.谢谢!
解决方法 我不认为你想做的事情可能就像你想要做的那样.当您使用addheaderVIEw时,它会将您的listadapter包装在headerVIEwlistadapter中.我查看了它的文档 here,这似乎意味着你可以有多个标题,但它们都会在顶部(duh,header).这听起来像你真正想要的是分离器……
您可以使用CommonWare’s MergeAdapter.它将允许您插入适配器和视图(以您希望的任何顺序)并将它们作为单个适配器呈现给列表视图.您只需为每个内容部分提供标题和适配器,然后将其设置为列表.
伪代码示例:
myMergeAdapter = new MergeAdapter(); myMergeAdapter.addVIEw(headerVIEw1); myMergeAdapter.addAdapter(listadapter1); myMergeAdapter.addVIEw(headerVIEw2); myMergeAdapter.addAdapter(listadapter2); setlistadapter(myMergeAdapter);总结
以上是内存溢出为你收集整理的android – 如何在ListView中添加多个标题视图全部内容,希望文章能够帮你解决android – 如何在ListView中添加多个标题视图所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)