Android 如何在不使用筛选器的情况下在edittext上键入时显示listview?

Android 如何在不使用筛选器的情况下在edittext上键入时显示listview?,android,android-listview,android-edittext,Android,Android Listview,Android Edittext,我创建了一个应用程序,当用户键入编辑文本时,它必须在其中显示列表视图。问题是不应该使用过滤器。有人能帮我吗???//导入 //imports public class SearchActivity extends Activity implements TextWatcher{ private EditText searchField; private SearchActivity activity; private ListView listView; protect vo

我创建了一个应用程序,当用户键入编辑文本时,它必须在其中显示列表视图。问题是不应该使用过滤器。有人能帮我吗???

//导入
//imports

public class SearchActivity extends Activity implements TextWatcher{
  private EditText searchField;
  private SearchActivity activity;
  private ListView listView;

  protect void onCreate(Bundle savedInstances){
    setContentView(R.layout.yourlayout);
    activity = this;

    searchField = (EditText)findViewById(R.id.searchField);
    searchField.addTextChangedListener(this);

    listView = (ListView)findViewById(R.id.list);
    listView.setOnItemClickListener(new OnItemClickListener(){
      @Override
      public void onItemClick(Adapter<?> arg0, View arg1, int position, long arg3){
        //action when an item is clicked
      }
    });
  }  

  @Override
  public void afterTextChanged(final Editable searchField){
    listView.setAdapter(null); //refresh list items

    if(searchField.length()>0){
      //do your searches here
      listView.setAdapter(new YourCustomAdapter());
    }
  }     

  @Override
  public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}

  @Override
  public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}

}
公共类SearchActivity扩展活动实现TextWatcher{ 私人编辑文本搜索字段; 私人搜索活动; 私有列表视图列表视图; 创建时保护void(Bundle savedInstances){ setContentView(R.layout.yourlayout); 活动=此; searchField=(EditText)findViewById(R.id.searchField); searchField.addTextChangedListener(此); listView=(listView)findViewById(R.id.list); setOnItemClickListener(新的OnItemClickListener(){ @凌驾 公共单击(适配器arg0、视图arg1、int位置、长arg3){ //单击项目时的操作 } }); } @凌驾 public void afterTextChanged(最终可编辑搜索字段){ setAdapter(null);//刷新列表项 if(searchField.length()>0){ //在这里进行搜索 setAdapter(新的YourCustomAdapter()); } } @凌驾 public void beforeTextChanged(字符序列arg0、int arg1、int arg2、int arg3){} @凌驾 public void onTextChanged(字符序列arg0、int arg1、int arg2、int arg3){} }
为什么不使用过滤器?是否显示建议…?例如,如果我输入邮政编码,它必须在列表视图中显示该特定邮政编码下的所有地址或区域。使用edittext addtextchange侦听器或编辑文本上的键事件…并通过edittext.getText()进行检查.toString到您想要的字符串,如“postalcode”