开发中,遇到在导航栏上添加 SearchView时,只有点击🔍图标才能弹出软键盘,点击其他区域不响应的问题
- 监听 searchView 的点击事件 OnClickListener
searchView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 弹出软键盘
searchView.setIconified(false);
// 切换 Fragment
getSupportFragmentManager().beginTransaction().replace(R.id.main_container, new SearchViewFragment()).commitAllowingStateLoss();
}
});
- 监听 searchView 点击 x 取消的事件
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
// 切换回 Fragment
getSupportFragmentManager().beginTransaction().replace(R.id.main_container, homeFragment).commitAllowingStateLoss();
// return true的话 searchView还是在响应状态
return false;
}
});