Android 在ListView中设置选定节点的背景

Android 在ListView中设置选定节点的背景,android,android-listview,Android,Android Listview,我有一个水平列表视图,它以文件夹的形式显示一些项目。单击这些项目将打开该节点的子节点。我想设置所选节点的背景。我可以在Adapter类中使用以下代码执行此操作: public void bindView(View view, Context context, Cursor cursor) { this.cursorPosition = cursor.getPosition(); if (this.cursorPosition == selectedPosition) {

我有一个水平列表视图,它以文件夹的形式显示一些项目。单击这些项目将打开该节点的子节点。我想设置所选节点的背景。我可以在Adapter类中使用以下代码执行此操作:

public void bindView(View view, Context context, Cursor cursor) {
    this.cursorPosition = cursor.getPosition();
    if (this.cursorPosition == selectedPosition) {
        holder.title.setBackgroundResource(R.color.toc_selected);
    }
}
此处
selectedPosition
是所选项目的位置,我将其设置在不同的位置

如果单击项目后向左/向右滑动项目,此代码将失败。
ListView
显示8个项目,其值为
cursor.getPosition()
0,1,2,…,7
。如果我们滑动
列表视图
,第9个元素的值将为
cursor.getPosition()
为0,第10个元素的值为1,依此类推。因此,如果我们选择第一个节点,那么它将在列表视图中选择第一个和第九个节点。在滑动视图时,位置会更新。此外,如果我们选择第9个项目,则也将选择第1个项目,因为第1个和第9个节点的getPosition相同,即0


有没有办法摆脱这种情况?

发布横向列表的详细代码view@user603125该代码非常大(400行),不能在这里发布