2012-08-09 54 views
6

我需要以編程方式觸發文本選擇模式中的WebView網頁視圖,但我已經用在果凍豆不起作用的代碼?安卓:編程方式觸發文本選擇模式在果凍豆

我一直在使用下面的代碼,但它不再適用於Android 4.1(Jelly Bean),因爲Jelly Bean不再支持WebView.selectText,emulateShiftHeld和密鑰分派。

上適用於所有版本多達ICS下面的代碼是基於:How to enable the default highlight menus in android webview?

public void selectAndCopyText() { 
    try { 
     // ICS 
      WebView.class.getMethod("selectText").invoke(this); 
     } catch (Exception e1) { 
     try { 
      Method m = WebView.class.getMethod("emulateShiftHeld", (Class[])null); 
      m.invoke(this, (Object[])null); 
     } catch (Exception e2) { 
      // fallback 
      KeyEvent shiftPressEvent = new KeyEvent(0,0, 
        KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0); 
      shiftPressEvent.dispatch(this); 
     } 
    } 
} 

如何實現上果凍豆的工作原理類似的功能?

+0

嘿@馬丁,你終於解決了這個? – davids 2012-09-21 09:53:22

+0

嗨大衛,我列出在格蘭評論這裏潛在的解決方案:http://stackoverflow.com/questions/7581131/how-to-enable-the-default-highlight-menus-in-android-webview – Martin 2012-09-21 19:26:08

+0

感謝@馬丁:) – davids 2012-09-22 18:49:40

回答

2

我列出在這裏評論一個潛在的解決方案:How to enable the default highlight menus in android webview?

這裏是潛在的解決方案的內容: 分析android.webkit.WebViewClassic後,我已經取得了一些成功如下:

KeyEvent enterEvent = new KeyEvent(0,0,KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_ENTER,0,0); 
enterEvent.dispatch(this); 

我想更多的,因爲我需要向下滾動WebView使用仿真器時,而是一個真正的豆形軟糖設備上測試後上面似乎做工精細的工作上面的有點過了,可能需要。