【问题标题】:Remove the divider view in the expandablelistview last item删除expandablelistview最后一项中的分隔视图
【发布时间】:2018-06-21 12:05:44
【问题描述】:

我目前在可扩展列表视图中为我的每个项目都有一个分隔符

<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"/>

我想要做的是删除组中每个最后一项的分隔符。 所以第 1 组中的最后一项不应该有分隔线, 第 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 组的最后一项不应有分隔符。

【问题讨论】:

  • 在 xml 中类似于 android:divider=""
  • 第 1 组项目的检查也是最后一次。
  • @TusharPingale 请详细说明
  • 在 XML 中,id 是 @+id/divider_view,但在代码中是 R.id.divider。它们不匹配。
  • @I_A_Mok 抱歉,已经重命名了。

标签: android expandablelistview


【解决方案1】:

尝试:在 if (view == null) { } 之外找到 divider 并始终设置可见性

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;
 }

希望有帮助!

【讨论】:

  • 让我试试这个,我会回来的。
  • 我不知道你是谁,也不知道你住在哪里。但我会找到你,我会亲自感谢你!
猜你喜欢
  • 2018-06-06
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 2020-09-03
  • 2018-02-23
  • 2018-12-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多