【发布时间】:2015-04-06 07:49:58
【问题描述】:
在我的活动中,我有一个 ListView。
在那我试图将标题视图添加到列表视图看起来对我不起作用。
当我使用addHeaderView() 方法添加标题视图时,它会抛出
java.lang.IllegalStateException: Cannot add header view to list -- setAdapter has already been called
当我注释掉 listView.addHeaderView(header); 时,它工作正常。
但是我在setAdapter() 方法之前调用了addHeaderview() 方法。我无法弄清楚为什么会发生此错误。让我知道我的代码中有什么错误。
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
TextView header= new TextView(this);
header.setText("Header");
ListView listView = (ListView)findViewById(R.id.list_view);
listView.addHeaderView(header);
List<String> list = new ArrayList<String>();
for (int i = 0; i < 20; i++) {
list.add("Row "+i);
}
listView.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,list));
【问题讨论】:
-
我认为您在设置标题之前在代码中的某处执行 setAdapter,如果可能,请发布整个课程
-
这是我在 onCreate() 方法@BhavikMehta 中的完整代码。
标签: android listview android-activity header oncreate