最近在做一个PDA项目,因为PDA上自带的有键盘,所以要屏蔽掉输入框EditText在点击时弹出的软键盘,网上的方法基本上测试了一个遍,最后发现只有这个既能保证屏蔽掉软键盘,又能使光标正常显示:
/**
* 禁止Edittext弹出软件盘,光标依然正常显示。
*/
public void disableShowSoftInput(){
if(android.os.Build.VERSION.SDK_INT <= 10) {
editTest.setInputType(InputType.TYPE_NULL);
}else{
Class<EditText>cls=EditText.class;
Method method;
try{
method = cls.getMethod("setShowSoftInputOnFocus", boolean.class);
method.setAccessible(true);
method.invoke(editTest, false);
}catch(Exception e){
e.printStackTrace();
}
try{
method=cls.getMethod("setSoftInputShownOnFocus",boolean.class);
method.setAccessible(true);
method.invoke(editTest, false);
}catch(Exception e){
e.printStackTrace();
}
}
}
最后在onCreate方法中调用此方法即可!