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