如何使用textWatcher或不同的方式在表内搜索

时间:2013-09-13 17:46:11

标签: java android list search

所以我有一个数据表,我从在线服务器下载到应用程序中,我有一个搜索按钮,点击后会显示一个AlertDialog,我希望用户输入搜索文本,它看起来像这样:

public void buscar() {
    final EditText myView = new EditText(getApplicationContext());
    myView.setHint("Introduce texto aqui");
    AlertDialog.Builder alt_bld = new AlertDialog.Builder(this);
    alt_bld.setView(myView);
    alt_bld.setMessage("Introduce el texto o nombre del medio que deseas buscar:")

            .setCancelable(false)
            .setPositiveButton("Listo", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {

                }
            })
            .setNegativeButton("Cancelar", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            });

    TextWatcher filterTextWatcher = new TextWatcher() { 
        public void beforeTextChanged(CharSequence s, int start, int count,int after)
        {
        }
        public void onTextChanged(CharSequence s,int start, int before,int count)   
        {  
        }

        @Override
        public void afterTextChanged(Editable arg0) 
        {  
        }
    };
    buscartext = myView.getText();
    myView.addTextChangedListener(filterTextWatcher);
    AlertDialog alert = alt_bld.create();
    alert.setTitle("Buscar");
    alert.setIcon(R.drawable.searcha);
    alert.show();
}

它通过显示警告对话框并询问搜索文本的方式工作,但显然我现在不知道它是如何工作的,我在onTextChanged和afterTextChanged中尝试了这个:

for(webResult currentItem: arrayOfWebData)
    {
        //Check if the Medio property of the current item matches the search
        if(currentItem.Medio.equals(s))
        { 
            FilteredArrayOfWebItems.add(currentItem);
        }
     } 
            // here call my list adapter to display items

webResult是来自互联网的表,aFilteredArrayOfWebItems是搜索产生的列表,但它不起作用。我知道currentItem.Medio.equals(s)只检查我的表中的一列,我需要搜索多个以上的行,因为.equal,该行不适合搜索。如何进行不区分(%) searchtext%)搜索?并使用此textWatcher或我应该使用其他方式在我的表中搜索?

0 个答案:

没有答案