如何在android中实现搜索功能

时间:2010-10-21 07:19:04

标签: android

嗨,我是Android的新手,我所做的是创建一个包含字符串的列表并使用编辑文本实现搜索,我的代码就像休闲一样

 ((EditText)findViewById(R.id.EditText01)).setOnKeyListener(new OnKeyListener() 
    {

  public boolean onKey(View v, int keyCode, KeyEvent event)
  { String enteredText = ((EditText)findViewById(R.id.EditText01)).getText().toString();

      Iterator<String> strIt = strList.iterator();
    while(strIt.hasNext()){
      String str = strIt.next();

      if(str.startsWith(enteredText)){


       match.add(str);

     } 
     }

     } 

当焦点从编辑文本改变时它起作用,但我需要像快速搜索框一样工作。当我在编辑文本中输入一个字母时,将显示匹配的单词。我可以做到这一点。发布一些code.Thank u提前。

2 个答案:

答案 0 :(得分:3)

尝试实现TextWatcher接口。

它有3种方法需要覆盖。

public void afterTextChanged(Editable s) {

        Log.v("afterTextChanged","here");
    }
    public void beforeTextChanged(CharSequence s, int start, int count,
            int after) {

        Log.v("beforeTextChanged","here");
    }

    public void onTextChanged(CharSequence s, int start, int before, int count) {
        }

我认为这将是你的工作。

答案 1 :(得分:0)

查看AutoCompleteTextView。

基本上,您可以创建包含字符串的ArrayAdapter或SimpleAdapter。然后只需使用AutoCompleteTextView替换EditText并自动...您将获得您描述的预先输入行为。