【发布时间】:2015-10-23 07:29:39
【问题描述】:
我有以下代码:
if(mSearchView != null){
mSearchView.setIconifiedByDefault(false);
mSearchView.setIconified(false);
mSearchView.setOnQueryTextListener(this);
int searchPlateId = mSearchView.getContext().getResources()
.getIdentifier("android:id/search_plate", null, null);
View searchPlateView = mSearchView.findViewById(searchPlateId);
if (searchPlateView != null) {
searchPlateView.setBackgroundColor(getResources().getColor(R.color.white));
}
}
问题是我在serachview上setIconified(false)的那一刻,键盘弹出来了,我不希望这种情况发生。有可能以某种方式防止这种情况吗? PS:我在清单中有这个:
android:windowSoftInputMode="adjustNothing|stateHidden"
也可以在 onCreate 中以编程方式执行此操作,但没有运气
【问题讨论】:
-
mSearchView.clearFocus()对你有用吗? -
不,也试过 listview.requestFocus() 问题是,即使我说 clearFocus,我设置 setIconified(false) 的那一刻它会调用键盘。现在我可以清除焦点之后。它适用于新的现代手机。但是在速度慢的手机上,键盘会出现,然后消失(即使在新手机上,在LG G3上测试,即使键盘没有出现,图标仍然会出现在状态栏上并消失
-
上面的代码,你是在activity的
onCreate中调用这个吗? -
是的,我在 onCreate 中有一个“init()”函数,它调用了这段代码
标签: android keyboard android-softkeyboard searchview soft-keyboard