我需要知道是否更改了一個EditText,而不是用戶是否在該字段中輸入了一些文本,但僅更改了if 字符串。如何檢查EditText是否被更改?
17
A
回答
42
你需要一個 TextWatcher
看到它在這裏的行動:
EditText text = (EditText) findViewById(R.id.YOUR_ID);
text.addTextChangedListener(textWatcher);
private TextWatcher textWatcher = new TextWatcher() {
public void afterTextChanged(Editable s) {
}
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
}
}
2
實現一個TextWatcher。它提供了三種方法,beforeTextChanged
,onTextChanged
和afterTextChanged
。最後的方法不應該被調用,直到有些東西改變了,所以這是一件好事情使用它。
8
如果你改變主意聽按鍵就可以使用OnKeyListener
EditText et = (EditText) findViewById(R.id.search_box);
et.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
//key listening stuff
return false;
}
});
但Johe的答案是你所需要的。
1
這實際上爲我工作
EditText text = (EditText) findViewById(R.id.YOUR_ID);
text.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if(your_string.equals(String.valueOf(s))) {
//do something
}else{
//do something
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
相關問題
- 1. 檢查EditText是否被修改
- 2. Javascript:檢查url是否被更改?
- 3. 檢查代碼是否被更改
- 4. 如何檢查PDF是否被修改
- 5. 如何檢查edittext是否爲空?
- 6. ,如何檢查ImageField是否已更改?
- 7. 如何檢查一個人的名字是否被更改
- 8. Rails如何檢查session_id cookie是否被客戶端更改
- 9. 如何檢查文件是否被創建/刪除/更改(Bash)
- 10. 如何檢查表單字段數據是否被更改?
- 11. 檢查editText是否爲空
- 12. 檢查EditText是否爲空
- 13. 檢查IList是否更改?
- 14. iOS檢測標籤是否被更改
- 15. 檢查文件是否已被修改
- 16. 檢查字段是否已被修改
- 17. jQuery - 檢查是否被篡改
- 18. 檢查位圖是否已被修改
- 19. 檢查URL是否被篡改
- 20. 檢查網頁是否已被修改
- 21. Symfony如何檢查檢查是否被檢查沒有形式
- 22. 如何檢查QPushButton是否被點擊
- 23. 如何檢查android.hardware.Camera是否被釋放?
- 24. 如何檢查jPanel是否被按下?
- 25. 如何檢查ListItem是否被選中?
- 26. 如何檢查GetComponent()是否被點擊?
- 27. 如何檢查pthread_mutex_t是否被鎖定
- 28. 如何檢查Facebook是否被打開
- 29. 如何檢查UILabel是否被截斷?
- 30. 如何檢查Gtk.CheckButton是否被選中?