У меня есть список веб-просмотров, чтобы показать разные pdf-файлы, мне нужно показать их в горизонтальном RecyclerView, но проблема в том, что когда я прокручиваю его по горизонтали, то предстоящий веб-просмотр просто выходит поверх текущего и текущий вместо того, чтобы переходить в левую сторону, он остается на своем месте. Это выглядит немного странно.Webview in recyclerview
Это мой 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);
Пожалуйста, разместите свой код здесь @ Syed – Lampard
@CrazyAndroid, вот код моего RecyclerViewAdapter с именем HorizontalManual –
Где вы устанавливаете DataObjectHolder в своей деятельности, пожалуйста, покажите его. @ Syed – Lampard