在启动时展开recyclerview的第一项而不触及它

时间:2018-06-07 09:04:31

标签: android android-recyclerview expandablerecyclerview

@Override
public void onBindViewHolder(SubCategoryHolder holder, final int position) {


    final boolean isExpanded = position == mExpandedPosition;
    holder.tv_hashtags.setVisibility(isExpanded ? View.VISIBLE : View.GONE);
    holder.copyButton.setVisibility(isExpanded ? View.VISIBLE : View.GONE);
    holder.instaButton.setVisibility(isExpanded ? View.VISIBLE : View.GONE);
    holder.shareButton.setVisibility(isExpanded ? View.VISIBLE : View.GONE);
    holder.favoriteButton.setVisibility(isExpanded ? View.VISIBLE: View.GONE);
    holder.itemView.setActivated(isExpanded);

    if (isExpanded) {
        previousExpandedPosition = position;
        holder.layoutToHide.setVisibility(View.GONE);
    }else{
        holder.layoutToHide.setVisibility(View.VISIBLE);
    }


    holder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mExpandedPosition = isExpanded ? -1 : position;
            notifyItemChanged(previousExpandedPosition);
            notifyItemChanged(position);
        }
    });
    final SubCategoryInformation current = data.get(position);
    holder.tv_hashtags.setText(current.getHashtags());
}

我按照这个答案创建了一个可扩展的Recyclerview:https://stackoverflow.com/a/48092441/7787266

它完美无缺,但我想要recyclerview的初始行为,这样当我打开应用程序时,第一个项目应该已经扩展而没有我接触它。

1 个答案:

答案 0 :(得分:0)

 expListView.collapseGroup(groupPos)
好吧......反过来......

expListView.expandGroup(groupPos)