Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 我想在点击按钮时获得搜索结果_Android - Fatal编程技术网

Android 我想在点击按钮时获得搜索结果

Android 我想在点击按钮时获得搜索结果,android,Android,我想通过在编辑文本中输入关键字,然后输入按钮,从现有列表中检索匹配的结果。我正在尝试这个代码。但它不起作用。请注意,我希望在单击按钮时得到结果。请解决这个问题 edt = (EditText) findViewById(R.id.searchbar); Button b = (Button)findViewById(R.id.search_button); b. setOnClickListener(new OnClickListener() { @Override

我想通过在编辑文本中输入关键字,然后输入按钮,从现有列表中检索匹配的结果。我正在尝试这个代码。但它不起作用。请注意,我希望在单击按钮时得到结果。请解决这个问题

edt = (EditText) findViewById(R.id.searchbar);
Button b = (Button)findViewById(R.id.search_button);

     b. setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
             edt.addTextChangedListener(new TextWatcher()
                {


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

                        // TODO Auto-generated method stub
                                    }



                    @Override
                    public void beforeTextChanged( CharSequence arg0, int arg1, int arg2, int arg3)
                    {
                        // TODO Auto-generated method stub

                    }



                    @Override
                    public void afterTextChanged( Editable arg0)
                    {
                        // TODO Auto-generated method stub
                        SearchListView.this.arrad.getFilter().filter(arg0);

                    }
           });


        }
    });

}

这不起作用的原因是您在onClickListener中添加了TextChangedListener

这意味着当您单击按钮时,它将添加一个等待文本更改的侦听器

您不需要此侦听器,因为您的文本已更改

从onClicklistener本身操作搜索列表

好的,首先拿出addTextChangedListenernew TextWatcher。。从按钮的点击

将其放在活动的一次创建中

定义类级字符串变量

String filterString = "";
现在,在

@Override  
public void afterTextChanged( Editable arg0)  
{   
 filterString = arg0.toString();  
}
还有巴顿的onClick

只放这一行,

SearchListView.this.arrad.getFilter().filter(filterString);
SearchListView.this.arrad.getFilter().filter(filterString);