Pan*_*hal 9 java android searchview
在我的应用程序中,我正在创建一个搜索界面,SearchView当它失去并分别获得焦点时折叠和扩展.然而,失败的焦点只发生在两种情况:
按下后退按钮时.
SearchView按下旁边的主页图标时.
如果用户不仅点击这两件事,而且点击屏幕上的任何其他东西(例如,任何按钮或屏幕的任何空白部分而没有视图),我希望它失去焦点(并因此崩溃).
好吧,我发现了以下解决方案.我在每个不是searchview实例的视图上使用了setOnTouchListener来折叠搜索视图.它对我来说很完美.以下是代码.
public void setupUI(View view) {
if(!(view instanceof SearchView)) {
view.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
searchMenuItem.collapseActionView();
return false;
}
});
}
//If a layout container, iterate over children and seed recursion.
if (view instanceof ViewGroup) {
for (int i = 0; i < ((ViewGroup) view).getChildCount(); i++) {
View innerView = ((ViewGroup) view).getChildAt(i);
setupUI(innerView);
}
}
}
Run Code Online (Sandbox Code Playgroud)
这就是我提到的答案.
| 归档时间: |
|
| 查看次数: |
8103 次 |
| 最近记录: |