当我在列表视图中添加 header 时,我需要执行 position - 1 来访问后端列表

When I add a header in a listview I need to do position - 1 to access the backend list

我有一个 ListFragment 和一个自定义 ArrayAdapter
我愿意:

getListView().addHeaderView(inflatedHeader, null, false);
CustomAdapter adapter = new CustomAdapter(dataArrayList);
setListAdapter(adapter); 

它有效,但我注意到在适配器的 getView 方法中它被调用时位置从 0 开始,而 onListItemClick 项目当我单击我需要的列表元素时做position - 1从我传入的dataArrayList中得到对应的item.
所以基本上我在 header 之后单击列表的第一个元素,然后我进入 onListItemClick 位置 == 1,因此我需要在方法中执行 getListAdapter().getItem(position - 1)
这是它应该如何工作还是我做错了什么?

您应该在您的项目点击侦听器中使用 getItemAtPosition(int position) 而不是 getItem(int position),这已经考虑到页眉和页脚视图