gpt4 book ai didi

android - 向 View 添加监听器使 ListView 项不可点击

转载 作者:行者123 更新时间:2023-11-30 03:17:57 26 4
gpt4 key购买 nike

我正在尝试制作自定义列表。在列表适配器中,我在 getView(..) 方法中实现了这段代码:

        final RelativeLayout layout = (RelativeLayout) row.findViewById(R.id.layout_main);

layout.setOnTouchListener(new View.OnTouchListener()
{
@Override
public boolean onTouch(View v, MotionEvent event)
{
switch (event.getAction())
{
case MotionEvent.ACTION_DOWN:
{
layout.setBackgroundColor(context.getResources().getColor(R.color.asia_red_color));
return true;
}

case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_UP:
{
layout.setBackgroundColor(context.getResources().getColor(R.color.white));
return true;
}
}

return false;
}
});

请注意,我实现的监听器会阻止/覆盖执行我在 MainActivity 中实现的 onItemClickListener。

有什么解决办法吗?

最佳答案

只有 OnItemClickListener

定义一个选择器

可绘制文件夹中的 bkg.xml

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

将选择器设置为 ListView 。自定义布局 android:background="@drawable/bkg"

在 color.xml 中定义颜色

<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="yellow">#FFFF00</color>
</resources>

还要检查您的 lsitview 行项目是否有按钮。当您单击按钮时可能会获得焦点。

关于android - 向 View 添加监听器使 ListView 项不可点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19701056/

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