我在我的佈局中的edittext
和一個按鈕,在我的代碼我設置edittext
爲空的keyListener
編輯文本的按鍵偵聽
editText.setKeyListener(null);
,這樣我可以不輸入到我的edittext
。現在點擊我的按鈕,我應該可以輸入我的ediitext
。我怎樣才能做到這一點。這是一個簡單的問題,但我無法找到任何解決方案。任何幫助將非常感激。
我在我的佈局中的edittext
和一個按鈕,在我的代碼我設置edittext
爲空的keyListener
編輯文本的按鍵偵聽
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);
}
}
基本上,你先救在您致電setKeyListener(null)
之前,您可以使用KeyListener的默認設置EditText的默認。然後,當你點擊你的按鈕時,你再次調用setKeyListener
,傳遞你先前保存的默認偵聽器。
它在android中的錯誤請參閱這裏Bugs。
但在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>
您可以使用此:
// When you click your button, restore the default KeyListener
public void buttonClickHandler(...)
{
editText.setKeyListener(new EditText(getApplicationContext()).getKeyListener());
}
我認爲rainai的回答更準確。這將保持編輯文本的原始keylistener – SKT
我托盤rainai的方法,但它不適用於我,所以我但這種方法,因爲它的工作。 :) –
rainai的方法也沒有爲我工作。這一個雖然工作。 – Rishabh876
正是我想要的......沒有嘗試過,但它聽起來很有希望。 – SKT