WebView阻止了我的ExpandableListView的扩展

时间:2014-10-20 13:47:13

标签: android webview expandablelistview

之前我一直在使用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并且能够扩展组本身?

1 个答案:

答案 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>

希望这有帮助。