2016-03-04 68 views
0

我正在創建一個應用程序,其中用戶可以在PreferencesActivity中設置一些首選項,然後得到一個ListView的片段,該片段應根據用戶選擇的內容進行過濾。我已經有一個Filter這是篩選與用戶輸入文字列表,但我不知道如何根據在PreferencesActivity中作出的偏好過濾。Android篩選器ListView與用戶選項

代表一個單獨的列表項的數據類看起來是這樣的:

public class MyData 
{ 
    private ArrayList<SomeEnumType> enumListMember; 
    private String forRegularStringFilter; 
    ... 
} 

public enum SomeEnumType 
{ 
    VAL1, 
    VAL2, 
    VAL3 
} 

用戶看到的喜好是什麼MultiSelectListPreference的條目VAL1,VAL2,VAL3,並且用戶可以選擇其中幾個。用戶完成選擇後,該列表將假設僅顯示其enumListMember包含用戶選擇的所有枚舉值的項目。例如,該類的列表可以包含VAL1和VAL3,所以如果用戶選擇VAL3,該項目應該顯示。如果他選擇VAL2,它應該被過濾。

如何以及在哪裏進行這種過濾?在適配器的getView?別的地方?

回答

0

我最終做的只是創建一個具有正確值的新適配器,並在每次需要過濾時替換舊適配器。