2009-07-10 129 views
6

浏览器通过在隐藏在SDK中的WebView上调用public void emulateShiftHeld()方法来完成此操作。
还有其他的选择吗?在WebView中选择文本?

+0

嘿你有解决你的问题? – vnshetty 2011-05-23 04:09:20

+0

此解决方案无法在ICS上工作 – 2012-06-19 07:56:25

回答

8

从延伸到的WebView类:

public void selectAndCopyText() { 
    try { 
     Method m = WebView.class.getMethod("emulateShiftHeld", null); 
     m.invoke(this, null); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     // fallback 
     KeyEvent shiftPressEvent = new KeyEvent(0,0, 
      KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0); 
     shiftPressEvent.dispatch(this); 
    } 
} 

然后,你必须使用ClipboardManager观看新文本。

适用于Android 1.5 - 2.3。 emulateShiftHeld()自2.2以来公开。

3

这段代码与emulateshiftheld()完全相同。它允许用户选择文字。然后自动将其复制到剪贴板。

 KeyEvent shiftPressEvent = new KeyEvent(0,0, 
       KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0); 
      shiftPressEvent.dispatch(portal);