无法将标题视图添加到列表 - setAdapter 已被调用 [英] Cannot add header view to list -- setAdapter has already been called
问题描述
我有一个编辑文本字段和一个搜索"按钮.当我点击搜索时,我必须显示一个列表视图,其中包含与在编辑文本中输入的值相对应的数据.我已经使用 addHeader() 在我的列表中添加了一个标题.当我第一次搜索时,我能够成功地在 List 中显示数据.但是当我再次搜索时,出现以下错误.
I have one edittext field and one "search" button. When I click on search, I have to display a list view with data corresponding to the values entered in the edittext. I have added a header to my list using addHeader(). When I do search first time, I am able to display data in List successfully. But when I do search again, I am getting the below error.
FATAL EXCEPTION: main
java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called.
at android.widget.ListView.addHeaderView(ListView.java:261)
at android.widget.ListView.addHeaderView(ListView.java:284)
在设置适配器之前,我已将标题分配给我的列表.
I have assigned header to my list before setting the adapter.
下面是我的代码:
myList = (ListView) findViewById(R.id.searchResultsList);
View header = View.inflate(this, R.layout.search_results_header, null);
myList.addHeaderView(header, null, false);
dataAdapter = new MyCustomAdapter(this, R.layout.results_list_item, searchedResults);
myList.setAdapter(dataAdapter);
我哪里做错了?
推荐答案
在 android 2.3 上,在 setAdapter 之后添加 header(即使你已经提前添加,然后删除)会抛出异常.要动态隐藏或显示标题,请使用 setVisibility().如何?您可以看到隐藏标题视图.
On android 2.3, add header after setAdapter (even if you have added early, then removed) will throw an exception. To hide or show a header dynamically, use setVisibility(). How? You can see Hiding header views.
这篇关于无法将标题视图添加到列表 - setAdapter 已被调用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!