我的布局中有一个EditText和一个Button.
在编辑字段中写入并单击后Button,我想隐藏虚拟键盘.我假设这是一段简单的代码,但我在哪里可以找到它的一个例子?
android soft-keyboard android-layout android-softkeyboard android-input-method
我在我的应用程序的活动中使用网格视图.每个网格视图行包含三个复选框,可以根据用户想要从数据库查询的内容将其设置为选择/不选择.该活动还包括一个editText,每次活动开始时都会出现onScreenKeyboard,这里我遇到了问题.OnScreenKeyboard,当出现干扰gridview时,它的一些复选框就会消失.我的想法是每次配置更改时刷新网格视图.我尝试通过onRetainNonConfigurationInstance()返回一个对象来处理这个问题.当我使用getLastNonConfigurationInstance()来检索返回的对象时,Object包含一个数组列表,用于填充我的gridview行但是onCreate(),它显示为null.任何人都可以建议我如何处理这个问题或者是否有任何其他方法可以使我的gridView 在配置更改时表现正常.以下是代码,我想说清楚我已经在清单文件中添加了keyboardHidden配置更改但是当键盘出现时有时不会触发onConfigurationChanged()
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.failureselection);
findLocalWidgets(); //Initializes Layout Objects
if(configchanged){
//Re populate grid view
customDataGridRows = (ArrayList<CustomGridViewRow>) getLastNonConfigurationInstance();
dgvwFailures.setAdapter(new CustomGridViewAdapter(this,
customDataGridRows));
configchanged = false;
}else{
fillFailuresList(customDataGridRows);
dgvwFailures.setAdapter(new CustomGridViewAdapter(this,
customDataGridRows));
}
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.failureselection);
configchanged = true;
}
@Override
public Object onRetainNonConfigurationInstance() {
return customDataGridRows;
}
private boolean fillFailuresList(
ArrayList<CustomGridViewRow> …Run Code Online (Sandbox Code Playgroud) 好的,这个问题已被多次询问,我已经查看了很多关于它的主题,但我无法让它工作.
我searchView不在动作栏上,所以我不能使用collapseActionView()
我试过了
searchView.clearFocus();//this closes the keyboard but does not remove focus
getActivity().getCurrentFocus().clearFocus(); //basically the same as above
searchView.setQuery("", false); //this clears the query and drops the keyboard
searchView.setIconified(true); // but the search retains focus and keyboard pops up again
Run Code Online (Sandbox Code Playgroud)
无论我尝试什么,我都无法从选择searchView之后移除焦点
我试图从空的editText中删除焦点但它无法正常工作.我打电话clearFocus()给edittext,然后我在我的onFocusChanged()函数调用中设置了断点.
这是发生的事情:
onFocusChanged()使用聚焦参数值调用4次false,true,false,true.
我认为onFocusChanged()必须只召唤一次(有焦点=假)
对不起,我的英语不好.任何帮助,将不胜感激.谢谢
我附上一个焦点侦听器,到EditText时就OnCreateView在我的Fragment。如果EditText获得焦点,则通知侦听器。到目前为止一切顺利,但在屏幕旋转后,当焦点恢复到新的Fragment. 有什么好的做法可以区分由于配置更改引起的侦听器通知和由于真实的人工交互引起的通知吗?或者在由于配置更改而导致焦点更改后根本不通知侦听器?