在android 的webView开发中,我现在加载一个网页,网页就有选择文本内容后获取到内容赋值给文本框的功能。但我在webView里加载这个网页后选择文本内容就没有这个功能了。我想要获得webview上所选中的文本内容。如果你是一个高手,那还讲讲怎么去掉系统自带的选中文本内容后所弹出来的:“复制”,“搜索”提示框。其实就是两个问题:怎样获取webView上所选中的内容和自定义屏幕选中提示框 !解决加分!

解决方案 »

  1.   

    关注中。 帮你顶。 我也有这个问题。我的不是webview。而是自定义的view.
      

  2.   

    获取选中的内容要调用webView中的未公开函数getSelection 因此通过反射:
    Method m = WebView.class.getMethod("getSelection", null);
    m.setAccessible(true);
    Object obj = m.invoke(v, null);
    obj.toString()就是选中的内容
      

  3.   

    忘了说 上面的v就是你WebView的实例
      

  4.   

    多谢高手赐教,确实可以这样做。那第二个问题呢?怎么去自定义选中时的弹出框啊。恳求CC大牛吝赐教android中不推荐使用反射,要是有更好的办法该多好
      

  5.   

    getMethod获取不到default和private的方法,要用getDeclaredMethod。
      

  6.   

    WebView可以用js来自定义弹出框,详见https://github.com/btate/BTAndroidWebViewSelection
    这个我也没有研究过。
      

  7.   

    https://github.com/btate/BTAndroidWebViewSelection用这个吧,轻松解决
      

  8.   

    Method m = WebView.class.getMethod("getSelection", null);  4.0 上面就没的了的。。么样弄呢???