之前我一直在使用ExpandableListViews,我知道checkBoxes,Buttons等。
对于可以在XML上找到的任何这些小部件,必须将setFocusable设置为false,这些小部件将作为我们列表的groupView,另外,点击组单元格不会扩展组,因为这些小部件将被窃取关注它。
但是,如果我将WebView放在GroupView中,并且 setFocusable & setFocusableInTouchMode 到 false ,我仍然不能够扩展群组。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="91dp"
android:background="#ffffff">
<ImageView
android:layout_width="30dp"
android:layout_height="91dp"
android:id="@+id/sth_cell_img_correct"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:src="@drawable/icon_checked" />
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="20dp"
android:focusable="false"
android:focusableInTouchMode="false"
android:id="@+id/webView2" />
</LinearLayout>
但是,如果我从XML中删除 WebView,我可以扩展/缩小单元格而不会出现任何问题。
我必须在这里做一些其他事情。其他一些属性应该设置为false,或类似的东西,但我无法弄清楚到底是什么。
有没有人知道如何在组XML中使用WebView并且能够扩展组本身?
答案 0 :(得分:3)
尝试在根元素
上设置此项android:descendantFocusability="blocksDescendants"
然后使用
使WebView无法点击android:clickable="false"
最终的XML应该是这样的:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="91dp"
android:descendantFocusability="blocksDescendants"
android:background="#ffffff">
<ImageView
android:layout_width="30dp"
android:layout_height="91dp"
android:id="@+id/sth_cell_img_correct"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:src="@drawable/icon_checked" />
<WebView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clickable="false"
android:id="@+id/sth_web_view" />
</RelativeLayout>
希望这有帮助。