如何禁止系统软键盘?

问题描述:

我的代码是禁用系统软键盘,它可以达到效果,但是一闪后就消失了。我不想让这个闪光。这是我的代码。如何禁止系统软键盘?

public class MainActivity extends Activity { 

private EditText mEditText; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    mEditText = (EditText) findViewById(R.id.test_et); 
    mEditText.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
       hideSoftInputMode((EditText)v); 
     } 
    }); 

} 

private void hideSoftInputMode(EditText editText) { 
    ((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)) 
      .hideSoftInputFromWindow(editText.getWindowToken(), 
        InputMethodManager.HIDE_NOT_ALWAYS); 
} 

}

+0

你有什么要求的工作:这可以通过使用来完成? – JoxTraex 2012-03-06 08:09:48

还有另一种方式 - 不要在你的EditText奠定焦点。将其设置在背景(布局)视图上或其他地方。

setFocusable(true); 
requestFocus(); 

这应该为你做的伎俩,而不与舱单等

在你的清单文件,你可以设置windowSoftInputModestateAlwaysHidden

<activity 
    ...other attributes 
    android:windowSoftInputMode="stateAlwaysHidden"> 
</activity>