Tôi đang sử dụng chế độ xem web để hiển thị nội dung trong Android Honeycomb (3.x). Tôi đã tạo menu hành động được tùy chỉnh để cắt, sao chép và dán.Làm cách nào tôi có thể sao chép văn bản đã chọn trong Webview bằng cách sử dụng trình đơn tác vụ tùy chỉnh của tôi.Lựa chọn văn bản Android Trong chế độ xem web
Trả lời
Có thể nó sẽ giúp ...
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);
}
}
Nó hoạt động trên Android 3.2! Một số câu trả lời khác đề xuất tham số boolean trong emulateShiftHeld --- nó không chính xác! Sử dụng "null" như trong mã ở trên và nó sẽ làm việc cho bạn! –
Dưới Anroid 4.0.3 m.invoke (webView, null) gây ra tai nạn gốc '09-21 23: 20: 49.151: A/libc (4103): Tín hiệu tử vong 11 (SIGSEGV) tại 0x00000014 (mã = 1) '. –
Hãy thử bên dưới mã ...
private void emulateShiftHeld(WebView view)
{
try
{
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(view);
Toast.makeText(this, "select_text_now", Toast.LENGTH_SHORT).show();
}
catch (Exception e)
{
Log.e("dd", "Exception in emulateShiftHeld()", e);
}
}
và Gọi phương pháp nêu trên bất cứ nơi nào bạn muốn ...
emulateShiftHeld(mWebView);
để biết thêm chi tiết, xem này ... Android: how to select texts from webview
Đây là mã dành cho Android 2.2. Surej xuất bản mã mà làm việc cho cả Android 2.2 & 3.2, nhưng đây vẫn là vấn đề cho Android 4. * (Ice Cream Sandwich). Đoạn mã trên không làm gì dưới Ice Cream Sandwich. –
này có thể được giúp đỡ ... http://stackoverflow.com/questions/1111844/selecting-text-in-a-webview – Ronnie
Có phải câu trả lời giúp bạn? Sau đó, hãy chấp nhận nó. Nếu không, xin vui lòng giải thích những gì không hoạt động được nêu ra. –