Listview中不能点击的解决办法

losetowin 发布于:2014-1-12 16:02 分类:Android  有 12367 人浏览,获得评论 83 条 标签: android listview 

本文地址:http://www.dutycode.com/post-12.html
除非注明,文章均为 www.dutycode.com 原创,欢迎转载!转载请注明本文地址,谢谢。

问题描述:

    使用ListView自定义布局形式,其中采用了pull-to-refresh类库,发现ListView控件中的条目不能点击,不能响应点击事件。

问题原因:

    1、起初,认为是pull-to-refresh类库的原因,导致不能点击,网上搜索后,发现几种解决方案,但是没有效果。

        附上地址:(虽然和我的问题不是很匹配,但是记录下来,以后如果遇到可以借鉴)

            (1)、pull-to-refresh在4.1上不能点击:https://github.com/johannilsson/android-pulltorefresh/commit/16484755e56aeb5fd06494a88e3e61a4d932a066

            (2)、android中listview不能点击:http://xqjay19910131-yahoo-cn.iteye.com/blog/1319502

    2、所以,原因不在于pull-to-refresh,查找其他原因,上面的第(2)条给出了一点启发,可能原因是Listview失去了焦点,所以不能响应点击事件。于是,查看ListviewItem的自定义布局,我的代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >


    <TextView 
        android:id="@+id/tv_d1"
        android:textIsSelectable="true"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    <TextView 
        android:id="@+id/tv_d2"
        android:textIsSelectable="true"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>


</LinearLayout>
可以看到,TextView中的textIsSelectable是true,将其改成false后,重新运行项目,正常点击



总结:   

    如果使用ListView自定义布局时,Textview要设置textIsSelectable项目为false


版权所有:《攀爬蜗牛》 => 《Listview中不能点击的解决办法
本文地址:https://www.dutycode.com/post-12.html
除非注明,文章均为 《攀爬蜗牛》 原创,欢迎转载!转载请注明本文地址,谢谢。