我的布局中有一个edittext
和一个按钮,在我的代码中我设置keyListener
为edittext
null
editText.setKeyListener(null);
这样我就无法输入我的edittext
. 现在点击我的按钮,我应该可以输入我的ediitext
. 我怎样才能做到这一点。这是一个简单的问题,但我找不到任何解决方案。任何帮助将非常感激。
我的布局中有一个edittext
和一个按钮,在我的代码中我设置keyListener
为edittext
null
editText.setKeyListener(null);
这样我就无法输入我的edittext
. 现在点击我的按钮,我应该可以输入我的ediitext
. 我怎样才能做到这一点。这是一个简单的问题,但我找不到任何解决方案。任何帮助将非常感激。
我现在可能迟到了,但是,这就是我这样做的方式:
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的默认KeyListenersetKeyListener(null)
。然后,当您单击按钮时,setKeyListener
再次调用,传递您之前保存的默认侦听器。
你可以使用这个:
// When you click your button, restore the default KeyListener
public void buttonClickHandler(...)
{
editText.setKeyListener(new EditText(getApplicationContext()).getKeyListener());
}
它在 android 中的错误 请参见此处的错误。
但是在 xml 文件中你可以做到。使用android:editable="false"
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:editable="false" <<<<<<<
</EditText>