解决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"
我自己用的第一种,很方便奏效!