显示消息后如何取消 EditText 的文本更改?

Dam*_*les 5 android android-edittext

我可以禁用EditText,但是用户将无法更改文本。我试图实现的行为是,如果用户尝试键入某些内容(或任何其他更改方法,例如粘贴),则会显示一条消息,例如“由于某些原因,您无法编辑此文本。”。

起初,我以为我可以使用 显示消息TextWatcher,但似乎无法取消更改。我怎样才能实现我正在寻找的行为?我能想到的唯一方法是以下非常肮脏的方式。

备份 EditText 的文本。当 EditText 更改时,如果isReverting为 false,则显示消息并设置isReverting为 true。如果isReverting为真,只需将其设置为假。将备份设置为 EditText。

jsp*_*cal 1

您的解决方案将会非常有效。您还可以将不可修改的值存储在变量中,afterTextChanged如果值不同,只需将文本更改回来。