我有一个EditText带有客户文本观察器的字段.在一段代码中,我需要更改我使用的EditText中的值.setText("whatever").
问题是,一旦我进行了更改,afterTextChanged调用的方法就会创建一个无限循环.如何在不触发afterTextChanged的情况下更改文本?
我需要在afterTextChanged方法中的文本,所以不建议删除TextWatcher.
我有一个独特的情况。我网站的用户可以提交文章供其他用户审阅,但是他们可以按年龄和国家/地区限制谁可以审阅这些文章。我的问题是,我认为不应该有 250 条记录(链接到文章的每个国家/地区 1 条记录),而是以 JSON 格式将所有 250 个国家/地区(或他们希望其他用户可见的任何国家/地区)存储在文本字段中数据库。这样我每篇文章只需要一条记录。不知道性能会不会受到很大影响?该网站将处理 1-200 万用户,提交审阅的文章数量也相当大。唯一要做的“处理”是将每个用户的国家/地区存储在数据库中,并且将根据文章的国家/地区数组进行检查,以查看是否允许该用户查看该文章。
你们有什么感想?我是否过度认为每篇文章 250 条记录很多?
现在我使用 onFocusListener 自动将光标移动到 EditText 字符串的末尾。当框被聚焦时,这工作得很好,但是,一旦聚焦,如果用户点击字符串中的某个位置,光标就会移动到那里。我尝试过实现除焦点(触摸、单击)之外的其他方法,当我这样做时,光标会短暂移动到末尾,但然后快速移动到用户单击的位置。有没有办法阻止用户单击光标位置并自动设置 setSelection(EditText.getText().length())?