服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Android - 解决EditText、ListView以及GridView同时使用,输入法自动跳出来的方法

解决EditText、ListView以及GridView同时使用,输入法自动跳出来的方法

2021-01-20 15:55Android开发网 Android

本篇文章是对在Android中EditText、ListView以及GridView同时使用,输入法自动跳出来的解决方法进行了详细的分析介绍,需要的朋友参考下

有一个Activity,里面有个EditText下面是个ListView,每次运行这个Activity,输入法都自动跳出来,太恼火了。因为这个ListView是显示数据库的,一开始怀疑数据库游标Cursor的问题,看来怀疑错了,就是EditText和ListView同时出现,导致输入法自动跳出来。事实上我们需要的是,点击EditText后,输入法才出来。解决方法有:
方法1:
在onCreate()里,this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

方法2:
InputMethodManager m = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
m.hideSoftInputFromInputMethod(arg0,arg1);
或者:
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myEdit.getWindowToken(), 0); //myEdit是需要禁止自动弹出软键盘的EditText对象。

方法3:
在AndroidManifest.xml中,Activity的属性添加android:windowSoftInputMode=”stateHidden”
android:windowSoftInputMode="adjustPan|stateHidden"

我自己用的第一种,很方便奏效!

延伸 · 阅读

精彩推荐