为什么我的ListView永远不会调用onItemClick?

编程入门 行业动态 更新时间:2024-10-22 10:35:40
本文介绍了为什么我的ListView永远不会调用onItemClick?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我真的搜查谷歌,栈溢出了很多,发现这一点:OnItemCLickListener在列表视图ANDROID 不工作。但是,似乎阳光的回答并不适用于我的情况。其他的答案都是类似的。

我曾尝试以下方法:

添加机器人:可聚焦=FALSE我的列表项XML

添加 TextView.setFocusable(假)和 TextView.setClickable(假)在ViewHolder

使用如在上述链接中描述的XML

但他们没有工作。

下面是我的XML和Java code:

list_item.xml:

<?XML版本=1.0编码=UTF-8&GT?;< LinearLayout中的xmlns:机器人=htt​​p://schemas.android/apk/res/android机器人:layout_width =match_parent机器人:layout_height =WRAP_CONTENT机器人:baselineAligned =假机器人:descendantFocusability =blocksDescendants机器人:可聚焦=假机器人:paddingTop =2DP机器人:重力=center_vertical><的TextView    机器人:ID =@ + ID / ninegrid_number_list_choice    机器人:layout_width =match_parent    机器人:layout_height =WRAP_CONTENT    机器人:TEXTSIZE =@扪/ ninegrid_number_listchoice_text_size    机器人:比重=中心    >< / TextView的>< / LinearLayout中>

getView INT列表adapter.java:

@覆盖    公共查看getView(INT位置,查看convertView,最终的ViewGroup父){        ViewHolder持有人;        如果(convertView == NULL){            convertView = mInflater.inflate(R.layout.list_item,NULL);            持有人=新ViewHolder();            holder.mTextView =(TextView中)convertView.findViewById(R.id.ninegrid_number_list_choice);            holder.mTextView.setFocusable(假);            holder.mTextView.setClickable(假);            convertView.setTag(保持器);        }其他{            支架=(ViewHolder)convertView.getTag();        }        holder.mTextView.setText(mList.get(位置));        holder.mTextView.setTextColor(mTextColor);        holder.mTextView.setFocusable(假);        holder.mTextView.setClickable(假);        返回convertView;    }

编辑:在我的活动:

listchoice.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); listChoice.setOnItemClickListener(新OnItemClickListener(){ @覆盖 公共无效onItemClick(适配器视图<>为arg0,ARG1观,诠释ARG2,     长ARG3){      Log.v(标签,自卫队); } });

解决方案

找到这里的源$ C ​​$ c中的完整的答案的与图像和文本的Andr​​oid ListView的例子

I have really searched a lot on google, stack overflow , and found this : OnItemCLickListener not working in listview ANDROID. But seems sunshine's answer not works for my case. Other answers are all similar ones.

I have tried the following approaches:

add android:focusable="false" to my list item xml

add TextView.setFocusable(false) and TextView.setClickable(false) in ViewHolder

using the xml as described in the above link.

But none of them work.

Here's my xml and java code:

list_item.xml:

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="schemas.android/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:baselineAligned="false" android:descendantFocusability="blocksDescendants" android:focusable="false" android:paddingTop="2dp" android:gravity="center_vertical" > <TextView android:id="@+id/ninegrid_number_list_choice" android:layout_width="match_parent" android:layout_height="wrap_content" android:textSize="@dimen/ninegrid_number_listchoice_text_size" android:gravity="center" > </TextView> </LinearLayout>

getView int list adapter.java:

@Override public View getView(int position, View convertView, final ViewGroup parent) { ViewHolder holder; if (convertView == null ) { convertView = mInflater.inflate(R.layout.list_item, null); holder = new ViewHolder(); holder.mTextView = (TextView)convertView.findViewById(R.id.ninegrid_number_list_choice); holder.mTextView.setFocusable(false); holder.mTextView.setClickable(false); convertView.setTag(holder); } else { holder = (ViewHolder)convertView.getTag(); } holder.mTextView.setText(mList.get(position)); holder.mTextView.setTextColor(mTextColor); holder.mTextView.setFocusable(false); holder.mTextView.setClickable(false); return convertView; }

Edit: in my activity:

listchoice.setDescendantFocusability(ViewGroup.FOCUS_BLOCK_DESCENDANTS); listChoice.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { Log.v(tag, "sdf"); } });

解决方案

find the complete answer with source code from here Android ListView example with Image and Text

更多推荐

为什么我的ListView永远不会调用onItemClick?

本文发布于:2023-11-26 20:59:14,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1635173.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:永远不会   ListView   onItemClick

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!