【发布时间】:2019-09-22 08:28:41
【问题描述】:
我有一个 recyclerview 和 2 个城市列表(始发城市和目的地城市列表)。我想从第一个列表中选择一个城市,然后从第二个列表中选择目标城市,然后 recyclerview 已被过滤,只显示具有此起点和目标城市的项目。问题是:当我选择出发城市时,recyclerview 变为空,在选择目的地城市后它可以工作。我希望当我选择第一个城市 recyclerview 时显示具有此起源城市的项目并且不会变为空。 这是我的过滤功能:
public void filter()
{
String filterOrigin = txtOriginCity.getText().toString();
String filterDestination = txtDestinationCity.getText().toString();
for (int i = 0; i < freightsList.size(); i++)
hold.add(freightsList.get(i));
freightsList.clear();
if (filterDestination.equals("allCities") && filterOrigin.equals("allCities"))
freightsList.addAll(hold);
else if (filterDestination.equals("allCities") || filterOrigin.equals("allCities"))
{
for (int i = 0; i < hold.size(); i++)
{
if (hold.get(i).getDestination_city().equals(filterDestination)
||
hold.get(i).getOrigin_city().equals(filterOrigin))
{
freightsList.add(hold.get(i));
}
}
} else if (!(filterDestination.equals("allCities") && filterOrigin.equals("allCities")))
{
for (int i = 0; i < hold.size(); i++)
{
if (hold.get(i).getDestination_city().equals(filterDestination)
&&
hold.get(i).getOrigin_city().equals(filterOrigin))
{
freightsList.add(hold.get(i));
}
}
}
adapter.notifyDataSetChanged();
}
【问题讨论】:
标签: java android filter android-recyclerview