删除可展开列表视图最后一项中的分隔线视图

Remove the divider view in the expandablelistview last item(删除可展开列表视图最后一项中的分隔线视图)
本文介绍了删除可展开列表视图最后一项中的分隔线视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我当前在可展开列表视图中的每个项目都有一个分隔线

<View android:id="@+id/divider"
        android:layout_height="1dp"
        android:layout_width="match_parent"
        android:background="@drawable/your_divider"
        android:layout_alignBottom="@+id/parent_layout_id"/>

我要做的是删除组中最后一项的分隔符。 所以第一组的最后一项不应该有分隔符, 组%2中的最后一项不应也有分隔符。

目前我的代码如下:

public View getChildView(int posParent, int posChild, boolean isLastChild, View view, ViewGroup viewGroup) {

        final AccountBalanceItem expandedListText = (AccountBalanceItem) getChild(posParent, posChild);
        if (view == null) {
            LayoutInflater layoutInflater = (LayoutInflater) mContext
                    .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            view = layoutInflater.inflate(R.layout.card_account, null);
                    View divider = (View) view
                .findViewById(R.id.divider);
        if (isLastChild) {
            divider.setVisibility(View.GONE);
        }
     }

我当前的代码只隐藏了组2中的最后一项,组1中的最后一项仍然有一个错误的分隔符。 组%1和组%2的最后一项都不应该有分隔符。

推荐答案

尝试:在if (view == null) { }外部查找分隔线并始终设置可见性

public View getChildView(int posParent, int posChild, boolean isLastChild, View view, ViewGroup viewGroup) {

    final AccountBalanceItem expandedListText = (AccountBalanceItem) getChild(posParent, posChild);
    if (view == null) {
        LayoutInflater layoutInflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = layoutInflater.inflate(R.layout.card_account, null);
    }
    View divider = (View) view.findViewById(R.id.divider);
    if (isLastChild) {
        divider.setVisibility(View.GONE);
    } else {
        divider.setVisibility(View.VISIBLE);
    }
    return view;
 }

希望能有所帮助!

这篇关于删除可展开列表视图最后一项中的分隔线视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

How to target newer versions in .gitlab-ci.yml using auto devops (java 11 instead of 8 and Android 31 instead of 29)(如何在.gitlab-ci.yml中使用自动开发工具(Java 11而不是8,Android 31而不是29)瞄准较新的版本)
Android + coreLibraryDesugaring: which Java 11 APIs can I expect to work?(Android+core LibraryDesugering:我可以期待哪些Java 11API能够工作?)
How to render something in an if statement React Native(如何在If语句中呈现某些内容Reaction Native)
How can I sync two flatList scroll position in react native(如何在本机Reaction中同步两个平面列表滚动位置)
Using Firebase Firestore in offline only mode(在仅脱机模式下使用Firebase FiRestore)
Crash on Google Play Pre-Launch Report: java.lang.NoSuchMethodError(Google Play发布前崩溃报告:java.lang.NoSuchMethodError)