2009-07-10 98 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);