2011-09-01 137 views
9

谁能告诉我如何禁用并启用软键盘上的Android禁用软键盘输入键

+0

究竟你想完成? –

+0

我也想知道如何做到这一点。我注意到在我的phonegap应用程序中,如果我在完成输入文本字段后使用回车键,有时候屏幕无法正确显示。如果我在完成时使用原生的android后退按钮,它每次都能完美运行。 – blong824

回答

6

连接OnEditorActionListener你的文本字段,并从其onEditorAction方法,当actionId等于IME_ACTION_DONE返回true。这将防止软键盘从藏身:

EditText txtEdit = (EditText) findViewById(R.id.txtEdit); 
txtEdit.setOnEditorActionListener(new OnEditorActionListener() { 

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if (actionId == EditorInfo.IME_ACTION_DONE) { 
     // your additional processing... 
     return true; 
    } else { 
     return false; 
    } 
    } 
}); 

参考this LINK.

-1

我知道这个问题是很老,但禁止进入关键的一个简单的方法是设定机器人:在你的EditText MAXLINES =“1” 。

+0

downvoted,无法正常工作。我有一个EditText maxLines =“1”,仍然显示并处理回车键。 – momo

+0

回车键仍然显示并处理,但什么都不做。 –

1

EditText's布局把这样的事情:

android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ," 

您也可以枚举,你会希望能够进入有符号的休息,而不是回车键。

10

就到你的XML,并把这个属性在EditText上

android:singleLine="true" 

和您的回车键将会消失

+1

我不知道这是不是他们特别要求的,但这正是我所需要的!谢谢! – Sloganho

+0

android:singleLine已被弃用,但它对这种情况非常适用。谢谢。 –

0

试试这个,一起imeOptions = actionDone

<EditText 
    android:id="@+id/edittext_done" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:imeOptions="actionDone" 
    android:maxLines="1"/>