我對android編程相當陌生,我有以下情況: 我想要兩個editText字段,如果用戶在第一個字段中輸入數據,它會禁用其他字段,這意味着它仍然可見但不可由用戶編輯。當數據輸入到EditText中時禁用EditText 2
我確定有一個簡單的方法可以做到這一點,但我一直無法找到它。
謝謝你的幫助,讓我知道如果我錯過任何具體細節, 優雅
我對android編程相當陌生,我有以下情況: 我想要兩個editText字段,如果用戶在第一個字段中輸入數據,它會禁用其他字段,這意味着它仍然可見但不可由用戶編輯。當數據輸入到EditText中時禁用EditText 2
我確定有一個簡單的方法可以做到這一點,但我一直無法找到它。
謝謝你的幫助,讓我知道如果我錯過任何具體細節, 優雅
使用EditText.addTextChangedListener
檢測用戶輸入的數據。
使用EditText.setEnabled(false)
禁用您的第二個EditText。
editText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
@Override
public void afterTextChanged(Editable s) {
disableEditTExt.setEnabled(false);
}
});
希望這會幫助你去。
這個效果很好,但是它並沒有告訴用戶文本框是不可用的,是否有內置的方式讓它在場外變灰,還是必須有覆蓋圖出現? – Classtronaut
通常設置setEnabled(false)應該使您的視圖灰顯。你正在測試哪種設備?您可以添加setFocusable(false)和setClickable(false)以釋放焦點。 –
firstEditText.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
secondEditTExt.setEnabled(false);
}
});
[你嘗試過什麼?](http://mattgemmell.com/2008/12/08/what-have-you-tried/)是非常重要的,你嘗試的東西,你尋求幫助之前,或你可能永遠不會學習成爲一個自給自足的編碼器。 – Eric