我需要在一个具有三个选项卡的 Activity 中过滤一个 ListView。例如,我有一个选项卡,其中显示有关所有设备(自定义对象)的信息,但是当我切换到其他选项卡时,它应该显示“type1”的设备,当我切换到最后一个选项卡时,它显示的设备是“类型 2”。
我已经有一个自定义适配器,我想知道我是否可以使用 Filterable 接口(interface)(...实现 Filterable ...)并覆盖 getFilter() 方法(如基于 editText 的过滤)或者我应该使用另一种方法?
感谢任何形式的帮助。
最佳答案
我使用 onTabChanged()
方法解决了这个问题,就像这样(在 onCreate()
中):
mTabHost.setOnTabChangedListener(new OnTabChangeListener() {
public void onTabChanged(String tabId) {
Log.d(debugTag, "onTabChanged: tab number=" + mTabHost.getCurrentTab());
switch (mTabHost.getCurrentTab()) {
case 0:
myDevAdapter.getFilter().filter("all");
break;
case 1:
myDevAdapter.getFilter().filter("type1");
break;
case 2:
myDevAdapter.getFilter().filter("type2");
break;
default:
Log.d(debugTag,"error in onTabChanged");
break;
}
}
});
关于android - 选项卡更改时过滤 ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9456599/