如果有应该在该项目中显示为空的变量,是否有可能在Android Studio中使用RecyclerView不显示整个项目?
例如,如果我有3个变量要显示在项目中,但其中只有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(这可能会产生问题)。