轉發請備注出處: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終於響應了,搗鼓了一下,記下來,下次就知道了要全部屏蔽才能有效果。