编辑文本键侦听器

SKT*_*SKT 14 android keylistener android-edittext

我有一个edittext和一个按钮在我的布局,并在我的代码我设置keyListener了的edittext为空

    editText.setKeyListener(null);
Run Code Online (Sandbox Code Playgroud)

所以我不能输入我的edittext.现在点击我的按钮,我应该可以输入我的ediitext.我怎样才能做到这一点.这是一个简单的问题,但我无法找到任何解决方案.任何帮助将非常感激.

rai*_*nai 23

我现在可能迟到了,但这就是我这样做的方式:

public class MyActivity extends Activity
{
    private KeyListener listener;
    private EditText editText;

    public void onCreate(...)
    {
        editText = ... // Get EditText from somewhere
        listener = editText.getKeyListener(); // Save the default KeyListener!!!
        editText.setKeyListener(null); // Disable input
    }

    // When you click your button, restore the default KeyListener
    public void buttonClickHandler(...)
    {
        editText.setKeyListener(listener);
    }
}
Run Code Online (Sandbox Code Playgroud)

基本上,在调用之前首先保存EditText的默认KeyListenersetKeyListener(null).然后,当您单击按钮时,setKeyListener再次调用,传递先前保存的默认侦听器.


Amr*_*rek 5

你可以用这个:

// When you click your button, restore the default KeyListener
public void buttonClickHandler(...)
{
    editText.setKeyListener(new EditText(getApplicationContext()).getKeyListener());
}
Run Code Online (Sandbox Code Playgroud)