edittext
レイアウトにボタンとボタンがあり、コードではnullとして設定していkeyListener
ますedittext
editText.setKeyListener(null);
自分のに入力できないようにしますedittext
。ボタンをクリックすると、に入力できるようになりますediitext
。どうやってやるの。簡単な問題ですが、解決策が見つかりません。どんな助けでも大歓迎です。
edittext
レイアウトにボタンとボタンがあり、コードではnullとして設定していkeyListener
ますedittext
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>