我有以下格式。
1)ListView。
在Framelayout中列出Row.textview和WebView。 xml文件如下。
<?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="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@+id/chapterTxt"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<FrameLayout
android:id="@+id/chapterWebView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/custom_gray_dark"
android:visibility="gone" >
<WebView
android:id="@+id/chapterHtmlWebView"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:visibility="visible"
/>
</FrameLayout>
</LinearLayout>
现在我需要在用户点击之前的textview时在ListItem下以特定大小显示此webview。现在,当内容更大时,webview无法向下滚动。另一个限制是当Web视图可见时,ListView不应该流淌。为了处理click和scroll事件,我试图在FrameLayout(onInterceptTouchEvent())中处理该事件,它是webview的父级,但为此我需要在ListView的onTouchEvent()中返回true。在这种情况下,我无法处理其他列表项上的单击事件。基本问题是ClickView和滚动事件在ListView的每一行内的WebView中不起作用。因此,使用ListView,WebView,Framelayout(WebvIEW的父级)的组合来处理此单击事件可能是一种更好的方法。