RecyclerView 未显示列表中的所有项目

Rit*_*nty 11 android android-recyclerview

RecyclerView在我的应用程序中使用。每次打开屏幕时,我只能看到一个项目,但是当我调试时,它每次都会出现onBindViewHolder

这是我的适配器:

@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View itemView = LayoutInflater.from(parent.getContext())
            .inflate(R.layout.tourist_details_info, parent, false);

    return new ViewHolder(itemView);
}

@Override
public void onBindViewHolder(ViewHolder holder, final int position) {
    try {
            holder.displayName.setText(list.get(position).toUpperCase());
    }catch (Exception e){
       AxeltaLogger.err("error>>>"+e);
    }
}
@Override
public int getItemCount() {
    return list.size();
}
Run Code Online (Sandbox Code Playgroud)

这是我的 RecyclerView:

 RecyclerView.LayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext());
    recyclerView.setLayoutManager(mLayoutManager);
    recyclerView.setItemAnimator(new DefaultItemAnimator());
    recyclerView.setHasFixedSize(true);
touristAdapter=new TouristInfoAdapter(list);
recyclerView.setAdapter(touristAdapter);
Run Code Online (Sandbox Code Playgroud)

小智 23

如果您在RecyclerView内部使用,ScrollView则替换ScrollViewNestedScrollView.

android:nestedScrollingEnabled="false"在 RecyclerView 中启用。

这解决了我的问题。

  • 100% 有效,我将 `ScrollView` 替换为 `androidx.core.widget.NestedScrollView`,并在现在的 `NestedScrollView` 内的回收器视图上添加了 `android:nestedScrollingEnabled="false"`。它按预期完全扩展了所有项目! (3认同)

xba*_*dal 8

在您的布局 Tourist_details_info.xml 中,将父高度从 match_parent 设置为特定高度(100dp 或其他)或wrap_content用作android:layout_height="match_parent"