我有一个应用程序,它在listView中显示多个webView。我的问题是,当我尝试上下滚动webView时,webView不会响应我的手指,除非我只使用3个手指。当它响应时,它几乎不会上下移动。我发现问题是listview禁止滚动浏览webView。我尝试过使用:
listView.setEnabled(false);
但它对我不起作用。有谁能告诉我如何解决这个问题? 这就是我在listView中添加webView布局的方式。
ArrayList<DefaultCards> cardsList = new ArrayList<>();
cardsList.add(new DefaultCards("Hello Google","https://www.google.com", new WebViewClient()));
CardsAdapter cardsAdapter = new CardsAdapter(this, cardsList);
ListView listView = findViewById(R.id.cards_listview);
listView.setAdapter(cardsAdapter);
listView.setEnabled(false);
这是将显示listView的布局:
<ListView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cards_listview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
最后,这是将插入到listView中的布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:background="@color/colorBackground"
android:padding="5dp">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="match_parent"
card_view:cardCornerRadius="4dp">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="300dp"
android:layout_marginTop="50dp"/>
</android.support.v7.widget.CardView>
答案 0 :(得分:0)
带上一粒盐,但您可能想尝试使用回收器视图作为列表持有者,并为您的webview容器使用嵌套滚动视图。
此外,如果webview的内容足够大以滚动,则可能需要添加isScrollContainer =&#34; true&#34;属于您的webview的xml。
同样,这只是一个疯狂的猜测。希望它有所帮助!
答案 1 :(得分:0)
listview正在拦截滚动。您可以通过创建实现NestedScrollingChild,NestedScrollingParent的NestedScrollingWebView来防止这种情况。
如果您搜索嵌套滚动Webview,则有许多代码示例。 使用它而不是常规的Webview。