簡體   English   中英

RecyclerView無法水平滾動,但可以在垂直方向上使用(加載圖像失敗)

[英]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));
}

我希望我可以水平滾動到這個rec​​ycleview並加載所有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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM