父ListView嵌套子ListView時點擊事件沒有響應


轉發請備注出處:http://www.cnblogs.com/LT5505/p/5972999.html 

問題:

在ListView中嵌套ListView之后,子ListView會把父ListView的焦點吃掉,導致父ListView的OnItemClickListener不起作用,這就要屏蔽掉子ListView的焦點。

解決方法:

一、設置父ListView的最外層布局中加入:android:descendantFocusability="blocksDescendants"

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" android:descendantFocusability="blocksDescendants"
    >
<ListView android:id="@+id/listview" android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none"
        ></ListView>
</LinearLayout>

 

二、取消子ListView控件的焦點

listview.setFocusable(false); listview.setClickable(false);

但是設置到了這里還是沒有效果,然后我干脆把子ListView所有的事件和焦點都屏蔽掉,添加代碼:

listview.setPressed(false); listview.setEnabled(false);

全部設置完后父ListView的OnItemClickListener終於響應了,搗鼓了一下,記下來,下次就知道了要全部屏蔽才能有效果。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM