gpt4 book ai didi

Android ListView 选中项高亮显示

转载 作者:行者123 更新时间:2023-11-29 21:37:26 25 4
gpt4 key购买 nike

我有水平 listView 和 TextView 项目,我的项目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/LinearLayHorizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?android:attr/activatedBackgroundIndicator">

<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="35dp" >
</TextView>

<View
android:layout_width="5dp"
android:layout_height="35dp"/>

</LinearLayout>

我想通过设置 borded 到它的 textView 来突出显示一个选定的项目,例如。当我点击 item1 时,我想看到这个带有小边框的项目,现在当我点击 item2 时 - 这将突出显示并且 item1 的边框将消失。

有什么想法吗?

提前致谢!

最佳答案

在您的 Activity 中创建一个私有(private)类,如下所示:

private class ListChoice 
{
private int value;

public ListChoice()
{
value = -1;
}

public void setListChoice(int v)
{
value = v;
}

public final int getListChoice()
{
return value;
}
}

在setOnItemClickListener中设置被点击的行

listView.setOnItemClickListener(new OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> parent, View v, int position, long id)
{
listChoice.setListChoice(position);
adapter.notifyDataSetChanged();
}
});

在 ListView 适配器中使用它来高亮或禁用高亮

@Override
public View getView(final int position, View convertView, ViewGroup parent)
{
......
if(position == listChoice.getListChoice())
{
//highlight clicked item
}
else
{
//disable highlight for the rest of items
}
......
}

关于Android ListView 选中项高亮显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18075340/

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