【问题标题】:Copy text to the clipboard by pressing custom button in Android通过在 Android 中按自定义按钮将文本复制到剪贴板
【发布时间】:2015-11-23 11:43:15
【问题描述】:

在我的应用程序中,我想将所选数据复制到剪贴板,而不使用在 web 视图中长按文本后出现的上下文操作栏。

buttonPlay.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {


                ClipboardManager mClipboard =
                        (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);

                KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN,
                        KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
                shiftPressEvent.dispatch(webView1);
                if(mClipboard!=null) {
                    text = mClipboard.getText().toString();
                    //Toast.makeText(MainActivity.this, "select_text_now     "+text, LENGTH_LONG).show();

                    //***************############################################28112013
                    //online part added

                    MyTask myTask = new MyTask();
                    myTask.execute(text);

                    //#############################################################

                    return;
                }
            }
        });

如您所见,文本是从剪贴板中获取的。我想在按下此按钮时将选定的文本直接发送到剪贴板。请帮助,任何建议表示赞赏。

【问题讨论】:

  • 这个例子几乎解释了android中ClipboardManager的一切:Copy to ClipBoard tutorial
  • 嘿阿米特什,你找到解决办法了吗?如果你发现了,请告诉我。谢谢!!!
  • @GaneshKatikar 不,我没有......我找到了一种解决方案,但它是姜饼前的,所以没有太大帮助......
  • 任何人找到解决方案?

标签: android webview clipboard clipboardmanager


【解决方案1】:

使用它也许对你有帮助

private void setClipboard(String text) {
        if (android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
            clipboard.setText(text);
        } else {
            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE);
            android.content.ClipData clip = android.content.ClipData.newPlainText("Text : ", text);
            clipboard.setPrimaryClip(clip);
        }
    }

【讨论】:

  • 我知道这种在剪贴板中设置文本的方法。我要问的是,在长按 webview 内容后选择特定文本部分后,我将如何将该文本发送到剪贴板管理器???
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-09-02
  • 1970-01-01
  • 1970-01-01
  • 2012-01-08
  • 2020-12-15
  • 2011-06-21
  • 2010-09-23
相关资源
最近更新 更多