欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

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

程序员文章站 2023-12-06 10:09:10
有一个activity,里面有个edittext下面是个listview,每次运行这个activity,输入法都自动跳出来,太恼火了。因为这个listview是显示数据库的...

有一个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"

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