基于对话框过滤列表适配器

时间:2011-12-08 15:40:35

标签: java

我正在尝试过滤两种类型的餐馆:列表适配器中的餐馆和咖啡馆。

以下是将所选类型的餐馆添加到列表中的循环,该列表将在列表适配器中刷新:

for (int i = 0; i < filteredTemp.size(); i++) {
    if (filteredTemp.get(i).getType() == _typeOptions[typeSelection].toString()) {
          filtered.add(filteredTemp.get(i));
    }
}

对于测试我有5个餐馆,因此filteredTemp的大小为5,而filtered将以ArrayList类型Eatery开头(存储的类别)类型,名称等信息。)

我还将使用餐馆typeSelection = 0进行测试。 filteredTemp包含2家餐厅和3家咖啡馆。

因此,这个循环执行5次并在if语句中执行两次代码。然而,它找到了第一家餐厅,并将其添加到过滤后的ArrayList中,当它找到第二家餐厅时,if语句失败,因为没有任何理由,仅使用一家餐馆而不是两家餐馆过滤。

任何人都有线索是怎么回事?我使用了日志语句,它显示循环执行正确的次数以及添加第一个餐馆而不是第二个餐馆。

由于

1 个答案:

答案 0 :(得分:1)

在这种情况下,您很可能不希望按值比较字符串引用,而是使用equals()方法。