我的应用程序应该在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. 检查文件是否已被修改
- 2. 如何检查PDF是否被修改
- 3. 如何检查文件是否已被修改在c#
- 4. 如何检查Dalvik Cache是否被修改
- 5. 检查一个文件是否在Python中被修改
- 6. 如何检查文件是否在程序之外被修改?
- 7. 如何检查文件是否被修改与jQuery
- 8. Youtube API,检查视频是否已被修改
- 9. 批量检查单个文件是否被修改
- 10. 如何检查表单数据是否被修改?
- 11. 如何检查VBA模块是否被修改?
- 12. 检查网页是否被修改/已过期用Ruby
- 13. EclipseLink/JPA EntityListener:检查实体是否被修改
- 14. 检查文件是否被修改使用python select.kqueue()
- 15. 检查URL是否被篡改
- 16. 检查是否所有EditText都为空
- 17. 检查EditText是否为空kotlin android
- 18. 检查“inputType = number”的EditText是否为空
- 19. c linux检查文件是否更新/更改/修改?
- 20. 确定修改键是否被按下
- 21. 如何知道PHAsset是否被修改?
- 22. 测试JavaScript是否已被修改
- 23. 检查是否有类,并检查是否被点击
- 24. 检查模型是否在before_save事件中被修改或创建
- 25. 有没有办法检查Linq to SQL实体是否被修改?
- 26. PowerShell读取文件修改日期并检查它是否在最近X小时内被修改
- 27. 如何检查TextView字符串是否已被修剪(字幕)?
- 28. MySQL复制 - 查询是否被主人修改过?
- 29. 检查IList是否更改?
- 30. Symfony如何检查检查是否被检查没有形式