【问题标题】:Detecting selection changes in WebView检测 WebView 中的选择更改
【发布时间】:2016-08-03 21:11:23
【问题描述】:

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

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

onTouchEvent 检测到的运动事件是ACTION_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
        }
    }
});

我的问题是能够使用处理程序检测选择何时更改。不幸的是,ACTION_MOVEACTION_DOWN 在使用默认选择处理程序更改选择时没有被调用。

请注意,当我使用ActionMode CallBack 函数时,默认选择停止工作。

【问题讨论】:

标签: android android-webview selection


【解决方案1】:

与其尝试管理触摸,不如让系统为您完成:

How to get the selected text of webview in ActionMode override

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

可能……selection change ? :)

【讨论】:

    猜你喜欢
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 2017-06-09
    • 2020-10-09
    相关资源
    最近更新 更多