我需要一个监听器,每次 EditText 中的选择发生变化时都会调用它。我四处搜索,但找不到任何对 API 级别 7 有用的东西。我正在编写一个文本编辑器,我希望每次用户选择粗体/斜体/下划线文本时都会选中粗体/斜体/下划线按钮。
问问题
2230 次
2 回答
4
很老的问题,但有人可能仍然需要这个,所以这是我的解决方案:由于文本选择是通过长按文本完成的,我只是使用了以下内容:
editText.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
// do whatever you need to do on text selection
}
});
这允许对文本选择进行自定义行为,并且不会阻止用户复制/粘贴。
于 2013-10-11T10:11:28.053 回答
0
更好的方法是扩展 EditText,然后根据您希望如何管理不断变化的文本,您可以覆盖这两种方法之一来制定您的自定义行为。
如果您希望更改选择,那么您可以使用该
onSelectionChanged()
方法并在那里实现您的代码。如果您想在编辑器中的文本更改时实现某些东西,那么您可以使用
onTextChanged()
.
于 2012-04-17T11:57:23.667 回答