Android AutoCompleteTextView用于URL地址

时间:2011-09-17 14:08:32

标签: android autocompletetextview

我遇到Android问题。当您使用AutoCompleteTextView时:

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.entry);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.url_addresses);

String[] url_addresses = getResources().getStringArray(R.array.url_addresses);
for (String string : url_addresses) {
    adapter.add(string);
}

textView.setAdapter(adapter);
.....

当您在文本框中输入“google”关键字时,自动完成系统会显示以“google”开头的所有网址。 例如:

  • google.com
  • google.com.tr
  • google.co.uk

但是,我想显示包含“google”的网址。 例如:

  • http://www.google.com/
  • https://mail.google.com/
  • http://another.google.com/

我认为如果item不包含任何空格(一个单词,如url)就会出现此问题。

有可能吗?

非常感谢。

2 个答案:

答案 0 :(得分:0)

这应该很简单。将url字符串包装到另一个类中,并在toString中返回带有用空格替换的点的url。例如,网址http://mail.google.com将返回为http://mail google com,过滤器可以轻松匹配。在返回由空格分隔的字符串之前,您也可以类似地替换其他字符。与//

一样
class urlString {

   String url;
   public String toString() {
       return url.replace('.',' ');// replace dots with space
   }
}

答案 1 :(得分:0)

IIRC,编写自己的适配器而不是使用基本ArrayAdapter。请参阅Filter.performFiltering ... Android AutoCompleteTextView with Custom Adapter filtering not working