我試圖獲得EditText(numberRoom)的字符數。當用戶插入8個字符時,按鈕應該從禁用狀態和顏色0xBBFFFFFF切換到啓用狀態並且顏色0xFFFFFFFF。 我試過很少的方法,我認爲我發現的最好的一個是下面的一個。但是,即使輸入爲空,按鈕的狀態爲Enabled,顏色爲0xFFFFFFFF。那裏有什麼問題?Android:EditText的實時字符數
public class Join_room_screen extends Activity {
EditText numberRoom;
Button goToRoom;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.joinroom);
numberRoom = (EditText) findViewById(R.id.roomNumber);
goToRoom = (Button) findViewById(R.id.goToRoom);
TextWatcher watcher = new LocalTextWatcher();
goToRoom.addTextChangedListener(watcher);
updateButtonState();
}
void updateButtonState() {
boolean enabled = checkEditText(numberRoom);
goToRoom.setBackgroundColor(0xFFFFFFFF);
goToRoom.setEnabled(enabled);
}
private boolean checkEditText(EditText edit) {
return ((edit.getText().toString()).length() == 8);
}
private class LocalTextWatcher implements TextWatcher {
public void afterTextChanged(Editable s) {
updateButtonState();
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
}
}
但是在性能我已經
) 添加此.. goToRoom.setEnabled(假); – justDroid
Crosspost:http://codereview.stackexchange.com/q/74930/29371 – Heslacher