gpt4 book ai didi

android - 滚动时 ListView 突出显示移动

转载 作者:行者123 更新时间:2023-11-29 16:09:43 25 4
gpt4 key购买 nike

这是 Activity

public void onListItemClick(ListView parent, View v,int position, long id) {
String str;

if (nRowSelected>=0) {
View row=parent.getChildAt(nRowSelected);
if (row!=null) {
row.setBackgroundColor(0xFFFFFFFF);
}
}
nRowSelected=position;

v.setBackgroundColor(Color.GRAY);
}//onListItemClick

这是我的 ListView

        <ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="425dp"
>
</ListView>

我需要突出单选。我选择/关注第 1 行。但是当我滚动时,焦点不止一个。行焦点也在第 8 行

这是捕获

Image 1

Image2

如何解决?

最佳答案

您正在与适配器回收行布局的方式作斗争...您需要扩展当前的适配器并覆盖 getView() 以突出显示正确的行(并且仅突出显示正确的行)。

在最基本的层面上它看起来像:

public View getView(...) {
View view = super.getView(...);

if(position == mRowSelected) {
view.setBackgroundColor(Color.GRAY);
}
else { // You must use a default case to "un-highlight" the reused layout
view.setBackgroundColor(0xFFFFFFFF);
}
return view;
}

关于android - 滚动时 ListView 突出显示移动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14451798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com