android - 选项卡更改时过滤 ListView

标签 android listview filter tabs

我需要在一个具有三个选项卡的 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/

相关文章:

listview - Flutter:如何根据Expanded和itemCount自动调整ListView中的高度,宽度,字体大小

qt - 在矩形内包装 ListView

signal-processing - 低通滤波软件?

mysql - 过滤后如何连接两个表

java - 输入字段更改后的 Wicket 数据表过滤

java - 在 libgdx 中将纹理分割成拼图

android - 当他退出我的应用程序时,何时停止向客户发送推送通知

java - ArrayAdapter 从未使用过 ArrayList null 并且所有项目都出现在单行中

android - 重复构建失败 "To use Coroutine features, you must add ` ktx`......"

java - Eclipse 找不到 java.rmi.Remote 类