编辑文本键侦听器(Edit Text key listener)

2019-06-25 06:52发布

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

    editText.setKeyListener(null);

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

Answer 1:

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

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);
    }
}

基本上,你先打电话之前保存的EditText的默认的KeyListener setKeyListener(null) 。 然后,当您单击按钮,你叫setKeyListener再次,通过以前保存默认的监听器。



Answer 2:

您可以使用此:

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


Answer 3:

其在Android的错误看到这里的错误 。

但是,在XML文件中,你可以做it.Using android:editable="false"

<EditText
    android:id="@+id/editText1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:editable="false" <<<<<<<
</EditText>


文章来源: Edit Text key listener