![](/img/trans.png)
[英]ItemTouchHelper - Can't scroll RecyclerView, Swipe doesn't work
[英]RecyclerView Can't Scroll horizontally, but work on Vertical (Failed load image)
我想使我的recycleview幻燈片水平而不是垂直。 當我嘗試使其垂直時,它顯示了所有8個項目,但是當我嘗試使其水平時,它僅顯示了2個項目和錯誤
當我嘗試使用垂直時,顯示了所有8個項目。
recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false));
但是當我更改為水平recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false));
它只加載2張圖片,我無法水平滾動到下一張圖片,並且它顯示Error像這樣。
W /編舞:OPTS_INPUT:在優化之前先繪制第一幀,所以跳過!
公共類HomeFragment擴展Fragment {
private static final String TAG = "HomeFragment";
//Vars
private ArrayList<String> mImage = new ArrayList<>();
private ArrayList<String> mTitle = new ArrayList<>();
private ArrayList<String> mDesc = new ArrayList<>();
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
// initialize container view
View view = inflater.inflate(R.layout.fragment_home, container, false);
// pass container view to bitmap images so that will use to initialize recyclerView
initBitmapImages(view);
return view;
}
private void initBitmapImages(View view){
Log.d(TAG, "initBitmapImages: preparing bitmaps");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 1");
mDesc.add("This is foto 1");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 2");
mDesc.add("This is foto 2");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 3");
mDesc.add("This is foto 3");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 4");
mDesc.add("This is foto 4");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 5");
mDesc.add("This is foto 5");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 6");
mDesc.add("This is foto 6");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 7");
mDesc.add("This is foto 7");
mImage.add("https://i.redd.it/j6myfqglup501.jpg");
mTitle.add("Foto 8");
mDesc.add("This is foto 8");
initRecyclerView(view);
}
private void initRecyclerView(View view){
Log.d(TAG, "initRecyclerView: init recyclerView");
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
RecyclerViewAdapter adapter = new RecyclerViewAdapter(mImage,mTitle,mDesc,getContext());
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false));
}
我希望我可以水平滾動到這個recycleview並加載所有8張圖片,謝謝:)
嘗試使用Picasso或Glide這樣加載圖片
Picasso.get().load(imageList.getItem(position)).into(imageView);
為了使我們能夠更准確地回答您,您可以提供ViewHolder的代碼。
希望這對您有所幫助。
私有無效initRecyclerView(View view){Log.d(TAG,“ initRecyclerView:init recyclerView”); LinearLayoutManager layoutManager = new LinearLayoutManager(getActivity(),LinearLayoutManager.HORIZONTAL,false);
RecyclerView recyclerView = view.findViewById(R.id.recyclerView);
RecyclerViewAdapter adapter = new RecyclerViewAdapter(mImage,mTitle,mDesc,getContext());
recyclerView.setAdapter(adapter);
recyclerView .setLayoutManager(layoutManager); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.