如何在显示软键盘时为其中一个EditText隐藏软键盘?

时间:2011-09-04 22:11:54

标签: android hide android-softkeyboard

这里的情况:我正在显示一个包含4个输入字段的屏幕,其中2个需要由用户编辑(数字字段),其他(文本字段) - 显示一些文本信息,用户可以通过ListView更改,但它关闭了手动编辑。 我在我的XML文件android:editable="false"中使用非数字EditText字段,它有助于在用户单击字段时禁用软键盘的弹出窗口。但问题在于当用户编辑数字字段时,软键盘在用户专注于文本字段后没有隐藏。

那么当用户专注于我的文本字段时,如何隐藏已经显示的软键盘?

方法如:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(MEdit1.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);

或类似的东西

MetricEdit = (EditText) findViewById(R.id.MetricEdit);
MetricEdit.setInputType(0); 

不起作用。

提前感谢您的时间。

2 个答案:

答案 0 :(得分:2)

尝试放

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(MEdit1.getWindowToken(), 0);

在onclicklistener中可编辑的edittext

您还可以更改数字edittext的键盘,使其底部显示“已完成”,并显示以下内容:

android:imeOptions="actionDone"
编辑文本的中的

答案 1 :(得分:0)

这会有所帮助..

edittext.setInputType(InputType.TYPE_NULL);      
if (android.os.Build.VERSION.SDK_INT >= 11)   
{  
    edittext.setRawInputType(InputType.TYPE_CLASS_TEXT);  
    edittext.setTextIsSelectable(true);  
}