首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为公交车预订应用添加过滤

如何为公交车预订应用添加过滤
EN

Stack Overflow用户
提问于 2019-08-13 14:24:49
回答 2查看 93关注 0票数 1

嗨,我已经在Android中开发了公交预订应用程序。这里有一个称为总线过滤的功能。我们可以根据用户的选择来过滤总线。因此,在总线列表中,它包含交流和非交流。如何根据AC/非AC进行过滤。

代码语言:javascript
复制
for (int j = 0; j < busListResponses.size(); j++) 
{
    if (busListResponses.get(j).getCOACHDESC().toLowerCase().contains((strvalue.toString().toLowerCase()))) {
        {
            filterResponse.add(busListResponses.get(j));
        }
    }
}

因此,如果我选择非AC,它将检索正确的结果。但是,如果我选择交流,它返回所有总线包含交流和非交流

EN

回答 2

Stack Overflow用户

发布于 2019-08-13 14:36:36

代码语言:javascript
复制
for (int j = 0; j < busListResponses.size(); j++) 
{
    if (busListResponses.get(j).getCOACHDESC().toLowerCase().equals((strvalue.toString().toLowerCase()))) {
        {
            filterResponse.add(busListResponses.get(j));
        }
    }
}

或不转换为小写

代码语言:javascript
复制
for (int j = 0; j < busListResponses.size(); j++) 
{
    if (busListResponses.get(j).getCOACHDESC().equalsIgnoreCase((strvalue.toString()))) {
        {
            filterResponse.add(busListResponses.get(j));
        }
    }
}
票数 1
EN

Stack Overflow用户

发布于 2019-08-13 14:49:13

在总线模型类中添加一个布尔方法isAirConditioned(),因此当您循环遍历列表时,只需像这样做:

代码语言:javascript
复制
public class Bus{

...

  public boolean isAirConditioned(){
  String coachDesc = getCoachDesc();
  if(coachDesc.contains("NON AC")
    return false;
  return true;
  }
}

并将for循环修改为

代码语言:javascript
复制
for (int j = 0; j < busListResponses.size(); j++) {
     if (busListResponses.get(j).isAirConditioned()) {
         filterResponse.add(busListResponses.get(j));
         }
      }

编辑:在for循环之前添加此条件

代码语言:javascript
复制
String strvalue; 
if((!strvalue.contains("AC") || strvalue.contains("NON AC"))|| (strvalue.contains("AC") && !strvalue.contains("NON AC" )))
for (int j = 0; j < busListResponses.size(); j++) {
     if (busListResponses.get(j).getCOACHDESC().contains(strvalue) {
         filterResponse.add(busListResponses.get(j));
         }
      }

如果你在卧铺和半卧铺上遇到同样的问题,请使用类似的逻辑。

Edit2:这应该是for循环之前的条件语句,以包含所有参数

代码语言:javascript
复制
if(((strvalue.contains("Semi Sleeper") || strvalue.contains("NON AC")||
 strvalue.contains("Seater")) || (strvalue.contains("AC") && 
!strvalue.contains("NON AC" )) || (strvalue.contains("Sleeper") && 
!strvalue.contains("Semi Sleeper")))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57472185

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档