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
dogetListView().getItemAtPosition
时,列表中的第一项似乎是1而不是0?始终?使用回调的第一个参数。根据您使用的是哪一个,您应该获得ListView
对象或AdapterView
对象。使用它访问位置处的参考底图数据集
getListView().addHeaderView(inflatedHeader, null, false);
CustomAdapter adapter = new CustomAdapter(dataArrayList);
setListAdapter(adapter);