Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 当我在listview中添加标题时,我需要执行位置-1来访问后端列表_Java_Android_Listview_Android Listfragment_Listadapter - Fatal编程技术网

Java 当我在listview中添加标题时,我需要执行位置-1来访问后端列表

Java 当我在listview中添加标题时,我需要执行位置-1来访问后端列表,java,android,listview,android-listfragment,listadapter,Java,Android,Listview,Android Listfragment,Listadapter,我有一个ListFragment和一个自定义ArrayAdapter 我有: 它可以工作,但我注意到,在适配器的getView方法中,调用它的位置从0开始,而onListItemClick项是在我单击列表元素时,我需要执行position-1以从传入的dataArrayList中获取相应的项。 因此,基本上我单击列表标题后的第一个元素,进入onListItemClickposition==1,因此我需要在方法中执行getListAdapter().getItem(position-1)。 这就是

我有一个
ListFragment
和一个自定义
ArrayAdapter

我有:

它可以工作,但我注意到,在适配器的
getView
方法中,调用它的位置从0开始,而
onListItemClick
项是在我单击列表元素时,我需要执行
position-1
以从传入的
dataArrayList
中获取相应的项。
因此,基本上我单击列表标题后的第一个元素,进入
onListItemClick
position==1,因此我需要在方法中执行
getListAdapter().getItem(position-1)


这就是它的工作原理还是我做错了什么?

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

我记得onListItemClick中的位置应该从0开始。你是说商品id吗,android.view.view,int,long)@onof:项目在列表中的位置。当单击列表SO而不是执行
getListAdapter.getItem
do
getListView().getItemAtPosition
时,列表中的第一项似乎是1而不是0?始终?使用回调的第一个参数。根据您使用的是哪一个,您应该获得
ListView
对象或
AdapterView
对象。使用它访问位置处的参考底图数据集
getListView().addHeaderView(inflatedHeader, null, false);
CustomAdapter adapter = new CustomAdapter(dataArrayList);
setListAdapter(adapter);