我有一个listView。 listView的内容存储在适配器中维护的列表中。我想在单击按钮时添加和删除此listView的标题。当我添加标题时,我得到了适配器已经设置的异常。还有其他方法吗?请帮忙。
答案 0 :(得分:9)
您必须在ListView上.addHeader()
之前致电.addFooter()
和.setAdapter()
。我的建议是在需要时modify your adapter to display a header row as a first row
,而不是使用.addHeader()。您可能必须在适配器中为此添加新的行类型。另外,为适配器添加方法,使您可以隐藏/显示此标题行,但不要忘记在此之后调用.notifyDatasetChanged()
。
答案 1 :(得分:8)
添加标题后必须设置适配器,如此
View header = getLayoutInflater().inflate(R.layout.header, null);
ListView listView = getListView();
listView.addHeaderView(header);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice,
android.R.id.text1, names));
答案 2 :(得分:2)
首先在listview上设置页眉和页脚,然后设置适配器。
喜欢,(记住我只建议你的方法可能与我写的方法不同。)
// stuff of header
listview.addHeaderView(View v);
//stuff of footer
listview.addFooterView(View v);
//stuff of adapter
listview.setAdapter(mAdapter);