当我按下editText时如何关闭android默认键盘

时间:2012-02-22 06:03:41

标签: android

当我在editText上按下时,我想关闭Android默认键盘。这样默认键盘就不会弹出。 我尝试过以下代码,但没有奏效:

   <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/lltest"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >
   <EditText
        android:id="@+id/editText0"
       android:layout_width="fill_parent"
      android:layout_height="wrap_content">
  </EditText>
 </LinearLayout>

代码是:

    edtEdit1.setOnTouchListener(new View.OnTouchListener() {

        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // TODO Auto-generated method stub

InputMethodManager imm =                          (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(edtEdit1.getWindowToken(), 1);
            return false;
        }
    });

4 个答案:

答案 0 :(得分:2)

你试过吗

 android:editable="false" 

在xml编辑文本声明中

答案 1 :(得分:1)

隐藏

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

for show

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

答案 2 :(得分:0)

试试这个

你把1而不是0

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

答案 3 :(得分:-1)

要防止在触摸EditText时出现Android键盘,只需在onTouch()方法中返回 true

edtEdit1.setOnTouchListener(new View.OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        return true;
    }
});