我有一个ListFragment
和一个自定义ArrayAdapter
我这样做:
getListView().addHeaderView(inflatedHeader, null, false);
CustomAdapter adapter = new CustomAdapter(dataArrayList);
setListAdapter(adapter);
它有效,但我注意到在适配器的getView
方法中调用它的位置从0开始,而onListItemClick
项当我点击列表的元素时我需要做position - 1
从我传入的dataArrayList
获取相应的项目
所以基本上我点击标题后面的列表的第一个元素,我进入onListItemClick
位置== 1,因此我需要在方法中执行getListAdapter().getItem(position - 1)
。
这是它应该如何工作或我做错了什么?
答案 0 :(得分:2)
您应该在项目点击监听器中使用getItemAtPosition(int position)
而不是getItem(int position)
,这已经考虑了页眉和页脚视图