如何在Android应用程序中禁用Android键盘

时间:2014-05-15 05:57:12

标签: java android eclipse

我正在创建一个计算器应用程序,其中我有一个edittext,其中显示结果。我希望仅在单击数字按钮而不是由android键盘输入编辑文本中的数据。如何禁用键盘我的Android应用程序。请帮忙!

7 个答案:

答案 0 :(得分:2)

尝试

editText.setInputType(EditorInfo.TYPE_NULL)

或者

((EditText) findViewById(R.id.LoginNameEditText)).setFocusable(false);

或者

editText.setKeyListener(null);

答案 1 :(得分:0)

尝试this

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

答案 2 :(得分:0)

尝试以下代码: -

    EditText ed = (EditText)findViewById(R.id.editText1);

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

    ed.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            // TODO Auto-generated method stub
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);  
            imm.showSoftInput(ed, InputMethodManager.SHOW_IMPLICIT);  

        }
    });

Window.SetSoftInputMode (SoftInput.StateAlwaysHidden);

答案 3 :(得分:0)

如果是其他情况,您可以阻止键盘显示只需在清单中使用

android:configChanges="orientation|keyboardHidden"

通过这种方式,Android键盘不会自动打开,但只有在您直接点击EditText

时才会显示

答案 4 :(得分:0)

只是发布@yahya已经评论过的答案。

您应该考虑使用不可编辑的TextView,因此不会对键盘进行任何调用。

在按钮的onClick()事件中调用setText(String)方法并应用您希望的文本。 :)

Ypu也可以轻松追加setText(yourTextView.getText().toString + "Your New Text");

答案 5 :(得分:0)

嗨请试试这个:为此你不需要任何小部件上下文...

InputMethodManager miInputManager = (InputMethodManager) Activity.this
            .getSystemService(Context.INPUT_METHOD_SERVICE);
miInputManager.hideSoftInputFromWindow(Activity.this
            .getCurrentFocus().getWindowToken(),
            InputMethodManager.HIDE_NOT_ALWAYS);

答案 6 :(得分:-1)

使用

android:windowSoftInputMode="stateHidden"

<activity>

中的Android_Manifest.xml