当前位置: 首页 > 面试题库 >

过滤Android ListView-空格字符

广宏远
2023-03-14
问题内容

我想listView使用一个EditText框并使用适配器getFilter()功能进行过滤。直到我在文本框中输入空格后,它才能正常工作。

编辑:这是一个 SimpleAdapter不是ArrayAdapter

如果我的列表中包含以下单词:{“ Apple”,“ Banana”,“ Red Apple”}如果键入“
apple”,它将返回其中包含apple这个单词的所有项目(Apple和Red Apple)。如果我键入“ apple”,它将不会返回任何内容。

有任何想法吗?这是代码:

searchBox = (EditText) findViewById(R.id.searchBox);

searchBox.addTextChangedListener(filterTextWatcher);

private TextWatcher filterTextWatcher = new TextWatcher() {

public void onTextChanged(CharSequence s, int start, int before, int count) {
    // TODO Auto-generated method stub          
}

public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {
    // TODO Auto-generated method stub          
}

public void afterTextChanged(Editable s) {
    // TODO Auto-generated method stub
    myAdapter.getFilter().filter(s.toString());
}
};

问题答案:

如果来自SimpleAdapter的过滤功能不能满足您的过滤要求,那么您将需要覆盖SimpleAdapter并实现您自己的过滤要求。

这需要大量代码,因为Filter in SimpleAdapter使用了大量私有对象,因此您需要复制它们。同样适用于ArrayAdapter

幸运的是,其他人(@uʍopǝpısdn)已经进入流程,编写了代码并将其提供给社区。

您可以在此处找到指向blog的链接,包括如何使用示例以及此处的代码。

问候。



 类似资料:
  • 我有一个,我希望用户输入一个人的姓名。我认为名称应该包含、和示例。我正在使用来验证用户输入。但是,我不知道如何在我的中设置它。 问题:我应该如何修改我的过滤器来实现上述行为? 任何关于如何验证一个人的名字的建议都被接受。 这是我的DocumentFilter: 这是我的测试类:

  • 问题内容: 我在Stream中有Google Guava: 如您所见,过滤器函数内部有一条语句。 我不想在项目中再使用番石榴,所以我只想替换为: 我怎样才能使它更优雅? 问题答案: 您可以编写自己的谓词: 然后,将其用作您的过滤器参数。

  • 在这一节将实现一个更复杂的EL自定义函数的例子。 例子 : 过滤HTML格式中的特殊字符 1. 实例说明 该示例的功能是替换HTML格式中的特殊字符,这些特殊字符如表7.6所示。 表7.6 特殊字符和替换字符串对照表 特殊字符 替换字符串 <  &lt; >  &gt; & &amp; " &quot; 空格 &nbsp; 2. 使用Tomcat自带的例子来实现EL自定义函数 在Tomcat自带的

  • 例如insert时需要忽略某个特定属性, update时只更新某些属性, 查询时需要跳过大字段等。 FieldFilter/FieldMatcher提供细致的过滤选项,包括: 黑名单(locked) 白名单(actived) 忽略空值(ignoreNull) 忽略数值0(ignoreZero) 忽略日期属性(ignoreDate) 忽略空字符串(ignoreBlankStr) 忽略数值型主键(ig

  • 我试图将名称字段索引到elasticsearch中,名称可能是字符串或空字符串(),我希望搜索所有包含空值的名称,所以我使用筛选器,但对于筛选器,空值不是空值。 https://www.elastic.co/guide/en/elasticsearch/reference/1.4/query-dsl-exists-filter.html 查询DSL: 如何将空字符串作为elasticsearch筛

  • 问题内容: 尝试滤除具有非null的特定属性的项目 我只想显示一个李;一个给萨莉。这是我没有成功的尝试 您知道如何在不创建自定义过滤器的情况下执行此操作吗?甚至如此,自定义过滤器会是什么样? 问题答案: 根据https://github.com/angular/angular.js/issues/11573(对于Angular> = 1.4),建议使用’‘,它匹配除null / undefined