RecyclerView-一项的某些变量为空-根本不显示该项

时间:2018-10-26 17:08:26

标签: android android-recyclerview

如果有应该在该项目中显示为空的变量,是否有可能在Android Studio中使用RecyclerView不显示整个项目?

例如,如果我有3个变量要显示在项目中,但其中只有2个有值-根本不显示该项目。

预先感谢:)

2 个答案:

答案 0 :(得分:0)

没有受支持的API。我最好的主意是在不想显示时将视图的高度设置为0。这是一些代码,它隐藏了位置3的视图并显示了其他位置:

@Override
public void onBindViewHolder(@NonNull MyViewHolder holder, int position) {
    ViewGroup.LayoutParams params = holder.itemView.getLayoutParams();
    params.height = (position == 3) ? 0 : ViewGroup.LayoutParams.WRAP_CONTENT;
    holder.itemView.setLayoutParams(params);

    // other binding code here
}

如果项目视图的高度未使用wrap_content,则必须将高度设置为该固定值。您可以使用以下代码来获取该固定大小:

holder.itemView.getResources().getDimensionPixelSize(R.dimen.your_size)

答案 1 :(得分:0)

如果使用自己的BaseAdapter或ArrayAdapter实现,则可以通过在适配器类中保存两个列表来过滤ListView或RecyclerView:一个用于所有值,一个用于过滤值。同样,在黑客中也不需要将某些项目的高度设置为0(这可能会产生问题)。