检测WebView中的选择更改

cod*_*der 8 android selection android-webview

我能够使用以下方法获取所选文本:

webview.evaluateJavascript("(function(){return window.getSelection().toString()})()",
    new ValueCallback<String>()
    {
        @Override
        public void onReceiveValue(String value)
        {
            selected = value;
            Log.v(TAG, "SELECTION:" + value);
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

我检测用当由所述检测到的运动事件的第一选择onTouchEventACTION_UP.

webview.setOnTouchListener(new View.OnTouchListener() {
    public boolean onTouch(View v, MotionEvent event) {
        int action = event.getAction();
        if(event.getAction() == MotionEvent.ACTION_UP)
        {
           //webview started selection a word
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

我的问题是能够使用处理程序检测选择何时更改.不幸的是ACTION_MOVE,ACTION_DOWN在使用默认选择处理程序更改选择时未调用.

请注意,当我使用该ActionMode CallBack功能时,默认选择停止工作.

小智 1

与其尝试管理触摸,不如让系统为您做这件事:

如何在ActionMode覆盖中获取webview的选定文本

@Override
public void onReceiveValue(String value)
{
    Log.v(TAG, "SELECTION:" + value);
}
Run Code Online (Sandbox Code Playgroud)

可能......选择改变? :)