2016-06-23 7 views
1

다른 PDF를 표시하는 webview 목록이 있는데 가로 RecyclerView에서 표시해야하지만 문제는 가로로 스크롤하면 오는 웹 뷰가 현재의 맨 위에 표시되고 왼쪽으로 이동하는 대신 현재 위치로 이동합니다. 좀 이상해 보여요. recyclerview의 Webview

내 RecyclerViewAdapter입니다

공용 클래스 HorizontalManual는 RecyclerView .Adapter {

Context context; 
private ArrayList<String> list; 

public class DataObjectHolder extends RecyclerView.ViewHolder { 
    ImageView imgUploaded;ProgressBar loader; WebView webViewManual; 

    public DataObjectHolder(View itemView) { 
     super(itemView); 
     webViewManual = (WebView) itemView.findViewById(R.id.pdf_manual_webView); 
    } 
} 


public HorizontalManual(Context context, ArrayList<String> list) { 
    this.context = context; 
    this.list = list; 
} 


@Override 
public DataObjectHolder onCreateViewHolder(ViewGroup parent, 
              int viewType) { 

    View view = null; 
    try { 
     view = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.horz_pdf, parent, false); 
     if (view.getLayoutParams().width == RecyclerView.LayoutParams.MATCH_PARENT) 
      view.getLayoutParams().width = parent.getWidth(); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    return new DataObjectHolder(view); 
} 


@Override 
public void onBindViewHolder(final DataObjectHolder holder, final int position) { 

    String url = "http://docs.google.com/gview?embedded=true&url=" + list.get(position); 
    Log.e("pdf",url); 
    WebSettings websettings = holder.webViewManual.getSettings(); 
    websettings.setJavaScriptEnabled(true); 
    holder.webViewManual.loadUrl(url); 

    holder.webViewManual.setWebViewClient(new WebViewClient() { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      holder.webViewManual.loadUrl("javascript:(function() { " + 
        "document.getElementsByClassName('ndfHFb-c4YZDc-GSQQnc-LgbsSe ndfHFb-c4YZDc-to915-LgbsSe VIpgJd-TzA9Ye-eEGnhe ndfHFb-c4YZDc-LgbsSe')[0].style.display='none'; })()"); 
     } 
    }); 
    holder.webViewManual.setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      return true; 
     } 
    }); 
    holder.webViewManual.setHorizontalScrollBarEnabled(false); 
} 


@Override 
public int getItemCount() { 
    return list.size(); 
} 

}

나는이처럼 내 조각의 HorizontalList를 설정하고있어 확장 :

mRecyclerViewManual.setHasFixedSize(true); 
rLayoutManagerManual = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);     mRecyclerViewManual.setLayoutManager(rLayoutManagerManual); 
//Setting adapter 
HorizontalManual setUploadsListAdapterManual = new HorizontalManual(context, list);     mRecyclerViewManual.setAdapter(setUploadsListAdapterManual); 
+0

에드 – Lampard

+0

@CrazyAndroid @ 여기에 코드를 게시하시기 바랍니다이 여기에 당신이 당신의 활동에 DataObjectHolder을 설정하는 HorizontalManual –

+0

라는 이름으로 내 RecyclerViewAdapter의 코드, 그것을 보여주십시오. @ 에드 – Lampard

답변

0
Load you google doc url using iframe tag as shown below. 

String frameVideo = "<html><body>Youtube video .. <br> <iframe width=\"320\" height=\"315\" src=\"https://docs.google.com/gview?embedded=true&url=http://Dealerapp.ebunch.ca/upload/wl/manuals/7.pdf\" frameborder=\"0\" allowfullscreen></iframe></body></html>"; 

     holder.webView.loadData(frameVideo, "text/html", "utf-8"); 
관련 문제