如何在可展开列表视图中设置项目的集可见性?

时间:2017-12-25 02:19:20

标签: java android

我的baseExpandableList ExpandableListView中有一个getGroupView(,这是我的Adapter)方法。当我设置holder2.mPackagenameTv.setVisibility(View.INVISIBLE)时,它完美无缺。 ExpandableListView中的所有项目都是不可见的。问题是当我点击Button时,我需要它来执行此操作。所以我有一个onClickListener,当我使用相同的holder2.mPackagenameTv.setVisibility(View.INVISIBLE);时,它只会使其中一个项目不可见而不是隐藏所有项目。

我将附上下面的图片以提供更多背景信息。

 @Override
                public View getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) {
                    //GroupViewHolder holder;
                    if (convertView == null) {
                        convertView = LayoutInflater.from(JunkCleanActivity.this)
                                .inflate(R.layout.group_list, null);
                        holder2 = new GroupViewHolder();

                        holder2.mPackageNameTv = (TextView)convertView.findViewById(R.id.package_name);

                        //holder2.mPackageNameTv.setVisibility(View.INVISIBLE);
 //this hides all the package names but only here. it only hides single names in other sections of code
                        holder2.mPackageNameTv.setTypeface(shimmer2);
                        holder2.mPackageSizeTv = (TextView)convertView.findViewById(R.id.package_size);

                        holder2.mPackageSizeTv.setTypeface(shimmer2);
                        convertView.setTag(holder2);




                    } else {
                        holder2 = (GroupViewHolder)convertView.getTag();
                    }

                    JunkGroup group = mJunkGroups.get(groupPosition);
                    holder2.mPackageNameTv.setText(group.mName);
                    holder2.mPackageSizeTv.setText(CleanUtil.formatShortFileSize(JunkCleanActivity.this, group.mSize));

                    return convertView;
                }

precompiled asset pipeline

expandable list view normally

desired result

1 个答案:

答案 0 :(得分:0)

它只隐藏一个项目可能是因为您没有定位整个项目列表。我的猜测是你只针对一个项目。请发布使用onclickListener的完整代码,以便我们深入解决此问题。