android – 自定义列表项单击不会触发listview.onclicklistener

android – 自定义列表项单击不会触发listview.onclicklistener,第1张

概述我的第一个问题.请放轻松我. 我有一个实现了onItemClickListener的ListView. 我还有一个android自定义listItem,它包含一个RelativeLayout,包含2个重叠子项(LinearLayout). 当我单击ListItem时,它不会触发ListView.onClickListrener代码. 仅当自定义listItem具有2个重叠子项时才会发生这种情况.如 我的第一个问题.请放轻松我.

我有一个实现了onItemClickListener的ListVIEw.

我还有一个android自定义ListItem,它包含一个relativeLayout,包含2个重叠子项(linearLayout).

当我单击ListItem时,它不会触发ListVIEw.onClickListrener代码.
仅当自定义ListItem具有2个重叠子项时才会发生这种情况.如果它只有一个,一切顺利.

为什么会这样?非常感谢,这让我发疯.

custom_List_item.xml:

<?xml version="1.0" enCoding="utf-8"?><relativeLayout xmlns:androID="http://schemas.androID.com/apk/res/androID"androID:layout_wIDth="match_parent"androID:layout_height="100dp"><linearLayout    androID:ID="@+ID/layout_one"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    >...</linearLayout><linearLayout    androID:ID="@+ID/layout_two"    androID:layout_wIDth="match_parent"    androID:layout_height="match_parent"    androID:orIEntation="vertical"    > <button ...></linearLayout></relativeLayout>

在MainActivity.java中:

mMainListVIEw.setonItemClickListener(new OnItemClickListener() {@OverrIDepublic voID onItemClick(AdapterVIEw<?> arg0,VIEw arg1,int arg2,long arg3){   ...//code reachable only when customListItem has only one child});

我发现了我的问题

问题是在自定义ListItem视图中我添加了一个button – 它从ListItem获取焦点.

抱歉这个含糊不清的问题.

解决方法 即使您的自定义列表项中包含交互式小部件,您仍然可以通过设置正确触发onItemClick侦听器

androID:focusable="false"androID:focusableIntouchMode="false"

在所有交互式小部件上(例如按钮,复选框).出于某种原因,这似乎不适用于Imagebutton.

如果仍然不起作用,请考虑在适配器中创建列表元素时向一个/两个linearLayouts添加一个侦听器.

总结

以上是内存溢出为你收集整理的android – 自定义列表项单击不会触发listview.onclicklistener全部内容,希望文章能够帮你解决android – 自定义列表项单击不会触发listview.onclicklistener所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1125090.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存