2016-08-31 259 views
2

表現出來,我創建,通過條形碼閱讀器在的EditText寫一個程序,所以我不希望顯示的鍵盤立刻即使我專注於它,我不把它想以是可見的,我需要按一個按鈕來顯示鍵盤有時只是編輯。 和感謝隱藏鍵盤和按鈕

+0

我會建議禁用的EditText當你不希望它是可編輯的,如果該按鈕被按下(也許更好的複選框),然後啓用edittext。這樣用戶就會知道文本是可編輯的。你怎麼看? – Blehi

+0

關於顯示/隱藏鍵盤,你可以檢查這個線程:http://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard – Blehi

+0

idk聽起來不錯,但如果我禁用它可以條形碼閱讀器寫在上面?我不這麼認爲...... –

回答

0

我會從一開始就禁用的EditText按鈕:

editText.setEnabled(false); 

並回答你的問題,是的。即使它被禁用,您也可以更改文字。僅禁用意味着用戶不能更改它。您可以編程編輯它。

然後,當按下按鈕:按下按鈕時

button.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     editText.setEnabled(true); 
     editText.requestFocus(); 
    } 
}); 

這應該自動顯示鍵盤。

獎勵: 如果您希望禁用EditText一旦完成編輯後,你可以這樣做:

editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { 
    @Override 
    public void onFocusChange(View v, boolean hasFocus) { 
     if(!hasFocus) { 
      editText.setEnabled(false); 
     } 
    } 
});