0

我为“共享”按钮实现了这段代码,它应该在我的应用程序中获取已选择的文本并与其他应用程序共享:

shareBtn.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {

                TextView et = (TextView) mActivity.findViewById(R.id.msg_row);

                int startSelection = et.getSelectionStart();
                int endSelection = et.getSelectionEnd();

                String selectedText = et.getText().toString().substring(startSelection, endSelection);

                if (!selectedText.isEmpty()) {

                    myClipboard = (ClipboardManager) mActivity.getSystemService(Context.CLIPBOARD_SERVICE);
                    ClipData clip = ClipData.newPlainText("label", selectedText);
                    myClipboard.setPrimaryClip(clip);


                    ClipData.Item item = myClipboard.getPrimaryClip().getItemAt(0);
                    String pasteData = (String) item.getText();
                    Intent sendIntent = new Intent();
                    sendIntent.setAction(Intent.ACTION_SEND);
                    sendIntent.putExtra(Intent.EXTRA_TEXT, pasteData);
                    sendIntent.setType("text/plain");
                    startActivity(Intent.createChooser(sendIntent, getResources().getText(R.string.send_to)));
                }

            }
        });

这里的问题是它在我第一次单击按钮时起作用,但之后当我选择另一个文本并再次按下按钮时,selectedText 和剪贴板都是空的。有谁知道这是如何表现的?

4

1 回答 1

0

您必须在onResume()方法中指定您的shareBtn.setOnClickListener 。

于 2016-03-10T09:51:26.040 回答