用于列表的android微调器和“全部”选项

时间:2013-05-06 10:06:53

标签: android filter android-listview spinner android-arrayadapter

我有一个android微调器,就像产品列表视图的过滤器一样。微调器适配器具有Brand类对象列表。然后列表视图仅显示具有所选品牌的产品。现在我需要在列表的顶部添加另一个特殊选项“全部”,关闭过滤器并显示所有产品。

我已经通过创建假的Brand类实例来实现适配器,这样我就可以将它添加到适配器使用的Brand ArrayList,但这并不理想 - 所有其他对象都是有效的数据库对象,所以我想要求更好的方法如何实现这一目标。感谢

1 个答案:

答案 0 :(得分:0)

我在所有应用程序中执行此操作的方式是相同的。将All项作为第一项添加到您的微调器适配器,并在onItemClick中,您可以执行以下操作:

mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {

                    if(position == 0){
                          // show all products
                    } else {
                          // show the selected brand's products
                    }
        }

        @Override
        public void onNothingSelected(AdapterView<?> parentView) {

        }
    });

我在开发过程中最好的选择就是这个。我没有看到任何其他方法来实现这一点。