gpt4 book ai didi

Android Listview 项目点击

转载 作者:行者123 更新时间:2023-11-29 01:40:36 25 4
gpt4 key购买 nike

我有一个带有自定义 BaseAdapter 的 ListView ,它从 json/internet 填充 ListView 项目。

在每个 ListView 项目中,我都有一个伪按钮(FrameLayouts),并附有点击事件。例如,当单击“MAYBE”时,我会调用服务器并将事件状态更改为“Maybe”。调用成功返回后,我想将 FrameLayouts 背景更改为适当的颜色(可能为橙色)。

我遇到困难的地方是引用其他/相邻的 FrameLayout,这样我就可以将它们的背景更改为“中性”。

enter image description here

我所有的事件都在 BaseAdapter 中,我在 GetView 方法中设置了 onClick 事件。

我的问题是:是否有更好的方法/如何为每个 FrameLayout 设置 onclick 事件,以便单击的 FrameLayout 知道其他相邻 FrameLayout 的单击事件,因此我可以将它们的背景更改为中性,并将选定的背景更改为受尊重的颜色。

谢谢。

最佳答案

您可以使用选择器来操纵 View 的状态

1) 创建一个选择器来设置颜色和状态

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:drawable="@android:color/black" android:state_selected="false"/>
<item android:drawable="@android:color/white" android:state_selected="true"/>
</selector>

2) 在后台设置选择器

<FrameLayout 
...
android:clickable="true"
android:background="@drawable/selector_view">
</FrameLayout>

3) 在代码部分尝试玩这个

@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setSelected(true);
...
}

关于Android Listview 项目点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24894088/

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