我使用了Google和本教程中的指南来制作我自己的上下文操作栏.
private ActionMode.Callback mActionModeCallback = new ActionMode.Callback() {
// Called when the action mode is created; startActionMode() was called
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Inflate a menu resource providing context menu items
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(R.menu.annotation_menu, menu);
return true;
}
// Called each time the action mode is shown.
// Always called after onCreateActionMode, but
// may be called multiple times if the mode is invalidated.
@Override
public boolean onPrepareActionMode(ActionMode mode, …Run Code Online (Sandbox Code Playgroud) 我希望允许用户从webview中选择一些文本,它需要作为文本消息发送.请找到选择文本并复制到剪贴板并从剪贴板中提取的方法.我看到很多例子,但没有任何帮助我真的...... TIA
使用@ orangmoney52链接中提供的代码进行编辑.以下更改
getmethod的第二个参数和invoke方法的第二个参数.如果我给null那里会有警告......哪一个是正确的?
public void selectAndCopyText() {
try {
Method m = WebView.class.getMethod("emulateShiftHeld", Boolean.TYPE);
m.invoke(BookView.mWebView, false);
} catch (Exception e) {
e.printStackTrace();
// fallback
KeyEvent shiftPressEvent = new KeyEvent(0,0,
KeyEvent.ACTION_DOWN,KeyEvent.KEYCODE_SHIFT_LEFT,0,0);
shiftPressEvent.dispatch(this);
}
}
Run Code Online (Sandbox Code Playgroud)
得到此错误:
05-26 16:41:01.121: WARN/System.err(1096): java.lang.NoSuchMethodException: emulateShiftHeld
Run Code Online (Sandbox Code Playgroud)