无法将标题视图添加到列表 - setAdapter 已被调用 [英] Cannot add header view to list -- setAdapter has already been called

查看:18
本文介绍了无法将标题视图添加到列表 - setAdapter 已被调用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个编辑文本字段和一个搜索"按钮.当我点击搜索时,我必须显示一个列表视图,其中包含与在编辑文本中输入的值相对应的数据.我已经使用 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆