【发布时间】:2017-02-28 06:57:55
【问题描述】:
我有这样的代码
public static class MyViewHolder extends RecyclerView.ViewHolder {
@InjectView(R.id.text)
TextView label;
public MyViewHolder(View itemView) {
super(itemView);
ButterKnife.inject(this, itemView);
}
public void hide(boolean hide) {
label.setVisibility(hide ? View.GONE : View.VISIBLE);
}
}
映射到RecyclerView 中的单行。 R.id.text 实际上是布局的根视图,它被膨胀并传递给这里的构造函数。
我正在使用LinearLayoutManager 的默认实现。
在bindViewHolder 中,我在MyViewHolder 的一个实例上调用hide(true),但不是按预期折叠行,而是行变得不可见,保持其在RecyclerView 中的高度和位置。有没有其他人遇到过这个问题?
如何在 RecyclerView 中隐藏项目?
【问题讨论】:
-
你试过
RecyclerView.getLayoutManager().removeViewAt()developer.android.com/reference/android/support/v7/widget/… -
你不应该直接在 LM 中调用这些方法。他们是给LM管理孩子的
-
你好。看看我的回答here。
标签: android