java - RecyclerView 无法水平滚动,但可以垂直滚动(加载图像失败)

标签 java android

我想让我的回收 View 水平滑动而不是垂直滑动。 当我试图让它垂直时,它显示了所有 8 个项目,但是当我试图让它水平时,它只显示 2 个项目和错误

当我尝试使用 VERTICAL 时,它显示了我想要的所有 8 个项目。

recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false));

但是当我改成 HORIZONTAL recyclerView.setLayoutManager(new LinearLayoutManager(getContext(),LinearLayoutManager.HORIZONTAL,false));

它只加载了 2 张图片,我无法水平滚动到下一张图片,它显示了这样的错误。

W/Choreographer:OPTS_INPUT:第一帧是在优化之前绘制的,所以跳过!

公共(public)类 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));
}

我希望我可以水平滚动到这个回收 View 并加载所有 8 张图片谢谢 :)

最佳答案

这样加载图片试试用Picasso或者Glide

Picasso.get().load(imageList.getItem(position)).into(imageView);

为了让我们更准确地回答您,您可以提供您的 ViewHolder 的代码。

希望这对您有所帮助。

关于java - RecyclerView 无法水平滚动,但可以垂直滚动(加载图像失败),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57759257/

相关文章:

java - 在线提交时Java代码错误"NZEC"

Java向JCalendar添加图标

java - 如何通过另一个 Activity 显示数据库中的特定行?

Android:Eclipse - 不显示异常

android - 应用程序死于 "Sending signal."但没有异常或其他信息

java - 通过第二类和第三类更改类变量

java - 为每个单元测试重建 Hibernate sessionFactory(使用 spring 框架)

java - 使用 ProGuard 后应用程序在移动设备上崩溃

javascript - 我们如何使用phonegap或javascript打开iPhone/android native 键盘

android - 如何在垂直方向的android单选按钮之间提供间距