我从以下字符串中显示列表视图:
String[] values = new String[] { test1, test2, test3 };
变量:
private String test1 = "test";
private String test2 = "test";
private String test3 = "test3";
现在我不想在listview中显示包含“test”的字符串。 像这样:
if (String == "test") {
*don't show in ListView*;}
如果它们包含“test”
,我希望它能够立即测试所有字符串怎么可能?
编辑:这里是适配器代码:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, values);
listView.setAdapter(adapter);
答案 0 :(得分:2)
...烨
if (values[i].equals("test")) // i being the iterator of your for-loop
OR
if (values[i].contains("test"))
contains是一个慢(呃)字符串函数。
你可能想要使用一个ArrayList ......那样你就可以将所有这些对象添加到数组列表中,然后遍历它......并在你去的时候删除它们......
// Do something to add all items to your array list
...
// Iterate through the list, removing what doesn't need to be there
for (int i = 0; i < arrayList.size(); i++){
if (arrayList.get(i).contains("test"))
arrayList.remove(i);
}
...然后将'arrayList'(或任何你称之为的)设置为适配器的字符串列表。如果你使用相同的构造函数,它将看起来像这样......
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, arrayList.toArray());
答案 1 :(得分:1)
您应该在ListView上使用过滤器。看看这些例子:
(简单迭代)http://androidsearchfilterlistview.blogspot.com/2011/06/android-custom-list-view-filter.html (getFilter())Filtering ListView with custom (object) adapter
与其他人发布的一样,您使用.equals()
比较字符串对象,但如果您尝试仅在ListView
中显示某些项目,则应使用getFilter()
方法,如我发布的链接。
编辑:我找到了一个很好的例子。
答案 2 :(得分:1)
所有时间,如果你想比较2个字符串使用equals
方法