我的應用程序應該在edittext內打開一個文件以向用戶顯示。如果用戶想要修改它,只需按下textwiew並寫入它。當按下後退按鈕後,如果文本被修改,則應保存更改,否則,關閉當前活動並轉到父項。 有辦法看看文本是否被編輯? 我的想法是明確地比較文件和edittext字符的長度,但有什麼比這個「粗魯」的方法更好?檢查EditText是否被修改
1
A
回答
3
您可以使用TextWatcher:
boolean changed = false;
EditText edit = (EditText)findViewById(R.id.medittext);
edit.addTextChangedListener(new TextWatcher() {
@Override
public void afterTextChanged(Editable s) {
// 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 onTextChanged(CharSequence s, int start, int before, int count) {
changed = true;
}
});
就比較長,可能會導致假陰性,如果變化是相同長度的文本缺失。
當用戶按下後,只需檢查changed
是否爲真。如果用戶進行了編輯並將其解除,則這可能會導致誤報,但最好有一些誤報,而不是丟失用戶更改。
3
沒有更好的,實際上你必須比較文本,而不是長度。用戶可以替換一個單詞。 TextWatcher會告訴你用戶正在編輯,但他可能會改變並將其改回。所以你真的需要比較字符串。
相關問題
- 1. 如何檢查EditText是否被更改?
- 2. 檢查文件是否已被修改
- 3. 檢查字段是否已被修改
- 4. 檢查位圖是否已被修改
- 5. 如何檢查PDF是否被修改
- 6. 檢查網頁是否已被修改
- 7. 檢測textarea的值是否被修改
- 8. 檢測ObservableCollection是否已被修改
- 9. 什麼是檢查屏幕是否被修改的好方法?
- 10. 檢查editText是否爲空
- 11. 檢查EditText是否爲空
- 12. 檢查文件是否被修改使用python select.kqueue()
- 13. Youtube API,檢查視頻是否已被修改
- 14. 如何檢查對象是否被修改
- 15. 如何檢查PictureBox的圖像是否已被修改?
- 16. EF:檢查對象是否已被修改
- 17. 如何檢查文件是否被修改與jQuery
- 18. 批量檢查單個文件是否被修改
- 19. 檢查一個文件是否在Python中被修改
- 20. EclipseLink/JPA EntityListener:檢查實體是否被修改
- 21. 如何檢查Dalvik Cache是否被修改
- 22. 檢查網頁是否被修改/已過期用Ruby
- 23. 如何檢查TField是否已被手動修改
- 24. 如何檢查文件是否已被修改在c#
- 25. 如何檢查表單數據是否被修改?
- 26. 如何檢查VBA模塊是否被修改?
- 27. 檢查文本部件是否已被修改
- 28. 高效檢查datagridview是否已被修改
- 29. 打開文件後檢查文件是否被修改關閉
- 30. 如何檢查頁面內容是否被修改?