我为“共享”按钮实现了这段代码,它应该在我的应用程序中获取已选择的文本并与其他应用程序共享:
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 和剪贴板都是空的。有谁知道这是如何表现的?