Android中的文本选择侦听器(API级别7)
我需要一个监听器,每次编辑文本中的选择更改时都会调用它。 我在谷歌上搜索了一下,但找不到任何对API级别7有用的东西。Android中的文本选择侦听器(API级别7),android,text,selection,Android,Text,Selection,我需要一个监听器,每次编辑文本中的选择更改时都会调用它。 我在谷歌上搜索了一下,但找不到任何对API级别7有用的东西。 我正在编写一个文本编辑器,希望每次用户选择粗体/斜体/下划线文本时,粗体/斜体/下划线按钮都处于选中状态。更好的方法是扩展编辑文本,然后根据您希望如何管理更改的文本,您可以重写这两种方法中的一种,以确定您的自定义行为 如果希望更改选择,则可以使用onSelectionChanged()方法并在那里实现代码 如果您想在编辑器中的文本发生更改时实现某些内容,则可以使用,onText
我正在编写一个文本编辑器,希望每次用户选择粗体/斜体/下划线文本时,粗体/斜体/下划线按钮都处于选中状态。更好的方法是扩展编辑文本,然后根据您希望如何管理更改的文本,您可以重写这两种方法中的一种,以确定您的自定义行为
onSelectionChanged()
方法并在那里实现代码onTextChanged()
更好的方法是扩展EditText,然后根据您希望如何管理更改的文本,您可以覆盖这两种方法中的一种来实现自定义行为
onSelectionChanged()
方法并在那里实现代码onTextChanged()
这是一个很老的问题,但有些人可能仍然需要这个,所以我的解决方案是:由于文本选择是通过长按文本来完成的,所以我只使用了以下方法:
editText.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
// do whatever you need to do on text selection
}
});
这允许在文本选择上进行自定义行为,并且不会阻止用户复制/粘贴。这是一个很老的问题,但可能有人仍然需要它,因此我的解决方案是:由于文本选择是通过长按文本来完成的,所以我只使用了以下方法:
editText.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
// do whatever you need to do on text selection
}
});
这允许对文本选择进行自定义操作,但不会阻止用户复制/粘贴。您尝试过吗?根据TextWatcher的描述,“将TextWatcher添加到每当此TextView的文本更改时调用其方法的人的列表中。”我需要的是一个监听器,它在文本上的选择更改时发出通知,而不是文本。顺便说一句,我刚试过,当选择发生变化时,没有调用TextWatcher的侦听器。你是否扩展EditText使其成为编辑器?还没有。我希望有这样的倾听者存在。我想我应该重写EditText的setSelection方法或类似的方法。在这种情况下,可以重写一个ContextChanged(CharSequence text、int start、int lengthBefore、int lengthAfter)方法。将检查我是否找到有关文本更改侦听器的更多信息。您尝试过这个吗?根据TextWatcher的描述,“将TextWatcher添加到每当此TextView的文本更改时调用其方法的人的列表中。”我需要的是一个监听器,它在文本上的选择更改时发出通知,而不是文本。顺便说一句,我刚试过,当选择发生变化时,没有调用TextWatcher的侦听器。你是否扩展EditText使其成为编辑器?还没有。我希望有这样的倾听者存在。我想我应该重写EditText的setSelection方法或类似的方法。在这种情况下,可以重写一个ContextChanged(CharSequence text、int start、int lengthBefore、int lengthAfter)方法。将检查是否找到有关文本更改侦听器的更多信息。如果仍然希望EditText执行其longPress处理程序并选择文本,请确保在此处返回false,如果返回true,则只会得到onLongClick()已执行。如果仍希望EditText执行其longPress处理程序并选择文本,请确保在此处返回false;如果返回true,则得到的结果是onLongClick()已执行。