首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android ListView 隱藏特定 Cell 的正確做法

     編輯:程式設計綜合問答

在 BaseAdapter 中直接將 Item 設為 View.GONE 並不能真正隱藏 Cell,因為該位置仍會保留分隔線與空間。要真正隱藏部分資料列,應從資料來源著手。

建議作法

  1. 在 Bean 中加入 isVisible 屬性,標示該項目是否應顯示。
  2. 在 setAdapter 之前,將 isVisible 為 false 的項目從 List 中移除,或建立一個僅包含可顯示項目的新 List。
  3. 將經過篩選後的 List 傳遞給 Adapter,並呼叫 notifyDataSetChanged()。
List visibleBeans = new ArrayList<>();
for (Bean bean : beans) {
    if (bean.isVisable()) {
        visibleBeans.add(bean);
    }
}
adapter.setData(visibleBeans);
adapter.notifyDataSetChanged();

這樣既不刪除原始資料,又能讓 ListView 不顯示不需要的 Cell,也不會留下分隔線殘留。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved