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

时间:2012-12-14 10:42:20

标签: android

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

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);

                    }
           });


        }
    });

}

2 个答案:

答案 0 :(得分:0)

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

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

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

onClicklistener本身

操纵搜索列表
SearchListView.this.arrad.getFilter().filter(reqdString);

答案 1 :(得分:0)

好的,首先取出addTextChangedListener(new TextWatcher()..来自按钮的点击..

将其放入活动的onCreate()

定义类级别字符串变量

String filterString = "";

现在,在

@Override  
public void afterTextChanged( Editable arg0)  
{   
 filterString = arg0.toString();  
}

按钮' onClick()

只放这一行,

SearchListView.this.arrad.getFilter().filter(filterString);
相关问题