2016-03-23 62 views
0

清單變空時,是否有任何可以覆蓋的回調/事件?就像在ListFragment中,當列表變空時,它會自動顯示EmptyText(空文本消息)。它如何確定列表已變空?我想要,因爲我想刪除Fragment清單變空時卸載碎片

我正在使用多窗格佈局。

+0

您是否檢查過setOnHierarchyChangeListener() –

+0

我想通過使用列表大小 –

回答

1

您可以從列表去除項目後,與簡單的解決方案

解決這個經常檢查adapter.getCount()==0是爲真,那麼你的列表是空的

+0

我應該在調用'notifyDataSetChanged()'之前檢查它還是之後? –

+0

之前無關緊要,因爲你從'ArrayList'中移除你的元素,它變得不可用。''notifyDataSetChanged()'只有更新UI的請求。所以你可以打電話之前或之後它會罰款 –

0

您可以檢查每次添加或刪除項目的通過使用OnHieararchyChangeListerner

ListView中父將是列表視圖

 ListView lv = (ListView) findViewById(R.id.listView); 
    lv.setOnHierarchyChangeListener(new ViewGroup.OnHierarchyChangeListener() { 
     @Override 
     public void onChildViewAdded(View parent, View child) { 

     } 

     @Override 
     public void onChildViewRemoved(View parent, View child) { 
      if (((ListView) parent).getAdapter().getCount() == 0) { 
       // Do what your want 
      } 
     } 
    });