recyclerview中的webview无法正常工作

阿里·古雷利(AliGürelli)

我的recyclerview中有3种itemview,最后一个包含完整的webview。当我单击webview(一行recyclerview)时,recyclerview向上滚动。我该如何解决此问题。

这是我包含webview的布局

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/webView">
</WebView>

适配器:

    public class HomePageAdapter extends       RecyclerView.Adapter<RecyclerView.ViewHolder> {

    private String htmlContent;
    private ArrayList<Slider> homePageSliders;
    private ArrayList<HomePageItem> homePageItems;

    private final int VIEW_SLIDER = 0;
    private final int VIEW_HOMEPAGEITEM = 1;
    private final int VIEW_HOMEPAGEHTML = 2;


    private OnItemClickCallBack<HomePageItem> callBack;

    public HomePageAdapter(ArrayList<Slider> homePageSliders, ArrayList<HomePageItem> homePageItems, String htmlContent, OnItemClickCallBack<HomePageItem> callBack)
    {
        this.homePageSliders = homePageSliders;
        this.homePageItems   = homePageItems;
        this.htmlContent     = htmlContent;
        this.callBack        = callBack;

    }

    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        if(viewType == VIEW_SLIDER) {
            return new HomePageSliderHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.row_homepage_slider, parent, false));
        }
        else if(viewType == VIEW_HOMEPAGEITEM)
        {
            return new HomePageItemHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.row_homepage_item, parent, false));

        }
        else
        {
            return new HomePageHtmlContentHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.row_homepage_html, parent, false));
        }
    }

    @Override
    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {

        if(holder instanceof HomePageSliderHolder)
        {
            HomePageSliderHolder viewHolder = (HomePageSliderHolder) holder;
            viewHolder.setViewPagerAdapter(this.homePageSliders);
        }
        else if(holder instanceof HomePageItemHolder)
        {
            HomePageItemHolder viewHolder = (HomePageItemHolder) holder;

            int newPosition = position -1;
            final HomePageItem homePageItem = this.homePageItems.get(newPosition);

            viewHolder.setImagePath(homePageItem);
            viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    callBack.onItemClick(homePageItem);
                }
            });
        }
        else
        {
            HomePageHtmlContentHolder viewHolder = (HomePageHtmlContentHolder) holder;
            viewHolder.setHtml(htmlContent);
            viewHolder.setWebViewClickListener();
        }
    }

    @Override
    public int getItemCount() {
        return 1 + 1 + homePageItems.size();
    }

    @Override
    public int getItemViewType(int position) {

        if(position == 0)
        {
            return VIEW_SLIDER;
        }
        else if(position < homePageItems.size())
        {
            return VIEW_HOMEPAGEITEM;
        }
        else
        {
            return VIEW_HOMEPAGEHTML;
        }

    }
}

Webview点击监听器:

public void setWebViewClickListener()
    {
        this.webView.setWebViewClient(new WebViewClient(){

            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                Crashlytics.log(Log.ASSERT, "url : ", url);
                return true;
            }
        });
    }
阿里·古雷利(AliGürelli)

当我调查html响应时,我意识到重定向URL中没有任何主机(例如google://)。然后,我通过包含主机来替换它,它的工作原理就像一种魅力。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

rss feed中的WebView无法正常工作

来自分类Dev

Cookie 在 android 的 webview 中无法正常工作

来自分类Dev

片段中的RecyclerView无法正常工作

来自分类Dev

WebView WebRTC无法正常工作

来自分类Dev

Webview / Webkit无法正常工作

来自分类Dev

WebView App Android中的Whatsapp聊天无法正常工作

来自分类Dev

为什么在webview中的javascript无法正常工作?

来自分类Dev

Android:WebView滚动在垂直方向Viewpager中无法正常工作

来自分类Dev

RecyclerView OnClick无法正常工作

来自分类Dev

RecyclerView:scrollToPosition无法正常工作

来自分类Dev

在RecyclerView中滚动时,加载位图无法正常工作

来自分类Dev

添加 setTextColor 后,OnItemClickListener 在 recyclerView 中无法正常工作?

来自分类Dev

WebView.setInitialScale无法正常工作

来自分类Dev

android webview.scrollTo无法正常工作

来自分类Dev

WebView.setInitialScale无法正常工作

来自分类Dev

Webview在KITKAT上及以上无法正常工作

来自分类Dev

cn1-Webview无法正常工作

来自分类Dev

RecyclerView上的LinearLayoutManager的scrollToPositionWithOffset无法正常工作

来自分类Dev

Android RecyclerView,回收无法正常工作

来自分类Dev

嵌套的RecyclerView的notifyDataSetChanged()无法正常工作

来自分类Dev

RecyclerView上的LinearLayoutManager的scrollToPositionWithOffset无法正常工作

来自分类Dev

Android Recyclerview Onclicklistener无法正常工作

来自分类Dev

RecyclerView 在布局更改时无法正常工作

来自分类Dev

WebView无法正常工作,请在浏览器中从外部启动url。在应用内显示网页

来自分类Dev

在Javascript中,“ this”无法正常工作

来自分类Dev

“ Not In”在sql中无法正常工作

来自分类Dev

React Native WebView无法正常工作的iOS模拟器

来自分类Dev

iOS WebView调用javascript函数无法正常工作

来自分类Dev

WebView qml 在 iOS 11 上无法正常工作

Related 相关文章

  1. 1

    rss feed中的WebView无法正常工作

  2. 2

    Cookie 在 android 的 webview 中无法正常工作

  3. 3

    片段中的RecyclerView无法正常工作

  4. 4

    WebView WebRTC无法正常工作

  5. 5

    Webview / Webkit无法正常工作

  6. 6

    WebView App Android中的Whatsapp聊天无法正常工作

  7. 7

    为什么在webview中的javascript无法正常工作?

  8. 8

    Android:WebView滚动在垂直方向Viewpager中无法正常工作

  9. 9

    RecyclerView OnClick无法正常工作

  10. 10

    RecyclerView:scrollToPosition无法正常工作

  11. 11

    在RecyclerView中滚动时,加载位图无法正常工作

  12. 12

    添加 setTextColor 后,OnItemClickListener 在 recyclerView 中无法正常工作?

  13. 13

    WebView.setInitialScale无法正常工作

  14. 14

    android webview.scrollTo无法正常工作

  15. 15

    WebView.setInitialScale无法正常工作

  16. 16

    Webview在KITKAT上及以上无法正常工作

  17. 17

    cn1-Webview无法正常工作

  18. 18

    RecyclerView上的LinearLayoutManager的scrollToPositionWithOffset无法正常工作

  19. 19

    Android RecyclerView,回收无法正常工作

  20. 20

    嵌套的RecyclerView的notifyDataSetChanged()无法正常工作

  21. 21

    RecyclerView上的LinearLayoutManager的scrollToPositionWithOffset无法正常工作

  22. 22

    Android Recyclerview Onclicklistener无法正常工作

  23. 23

    RecyclerView 在布局更改时无法正常工作

  24. 24

    WebView无法正常工作,请在浏览器中从外部启动url。在应用内显示网页

  25. 25

    在Javascript中,“ this”无法正常工作

  26. 26

    “ Not In”在sql中无法正常工作

  27. 27

    React Native WebView无法正常工作的iOS模拟器

  28. 28

    iOS WebView调用javascript函数无法正常工作

  29. 29

    WebView qml 在 iOS 11 上无法正常工作

热门标签

归档