我想让我的回收 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/