2014-10-19 48 views
2

如果emptyView從xml中膨脹,我沒有問題爲ListView設置空視圖。但是,如果我即時創建視圖,它不會出現。那麼下面的代碼有什麼問題?設置Android ListView的空視圖不適用於在Java中創建的視圖

if (myData.isEmpty()) { 
      System.out.println(「there is no data「); 
      TextView emptyView = new TextView(this); 
      emptyView.setText("no data found"); 
      myListView.setEmptyView(emptyView); 
     } 
+0

你不需要'myData.isEmpty()'檢查。 EmptyView只顯示列表是否爲空。請確保在使用listView.setAdapter()之前使用listVIew.setEmptyView() – joao2fast4u 2014-10-20 00:30:05

+0

您是否解決了您的問題? – joao2fast4u 2015-03-10 12:34:10

回答

0

將空視圖添加到parrent,然後將其設置爲空視圖。

if (myData.isEmpty()) { 
     System.out.println(「there is no data「); 
     TextView emptyView = new TextView(this); 
     emptyView.setText("no data found"); 
     ViewGroup parent = (ViewGroup) myListView.getParent(); 
     parent.addView(emptyView); 
     myListView.setEmptyView(emptyView); 
    } 
+0

謝謝。但這不完全是我正在尋找的解決方案。通過將視圖設置爲父視圖,我實際上甚至不需要將它傳遞給myListView以供它顯示。但是,如果下一次列表中的** NOT **爲空,空字符串仍然可見。這當然不是我想要的。爲了幫助你,試想一下,我正在使用EditText視圖來搜索服務器上的數據,並且listView將動態顯示結果。所以我不會離開並回到活動:我保持放。 – 2014-10-19 18:22:42