我想将我遇到的问题的答案发送出去。我想使用手机的搜索按钮与我的 res 文件夹中的布局中定义的视图进行交互。基本上制作一个 onSearchListener。在这里,我将展示一个示例,说明如何使用搜索按钮在布局中按下按钮。
public class SearchIntercept extends Activity{
boolean activateSearch;
@Override
public boolean onKeyDown(int keycode, KeyEvent e) {
switch(keycode) {
case KeyEvent.KEYCODE_SEARCH:
SearchManager mSearch = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
onSearchRequested();
activateSearch = true;
mSearch.stopSearch();
return true;
}
return super.onKeyDown(keycode, e);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.search_example);
SearchManager mSearch = (SearchManager)getSystemService(Context.SEARCH_SERVICE);
final Button button = (Button) findViewById(R.id.Button_1);
// Search Listener
mSearch.setOnCancelListener(new SearchManager.OnCancelListener() {
@Override
public void onCancel() {
if (activateSearch == ture){
button.setPressed(true);
activateSearch = false;
}
}
});
}
}
所以我在这里做的是获取关键输入,然后开始一个搜索请求。然后我立即取消该请求,这允许我使用 SearchManager 中内置的 OnCancelListener。此时,您可以像普通侦听器一样接受请求并使用它做任何您想做的事情。如果您有其他方法可以做到这一点,请在答案中告诉我们。另外,如果我应该以不同的方式发布此内容,请告诉我,不幸的是我仍然是菜鸟。