我有一个实现了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所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)