剪贴板项目在第一次使用后消失
Clipboard item disappeared after the first use
我为 "share" 按钮实现了这段代码,它应该在我的应用程序中获取已经 selected 的文本并与其他应用程序共享:
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)));
}
}
});
这里的问题是我第一次点击按钮时它起作用了,但是之后当我 select 另一个文本并再次按下按钮时 selectedText 和剪贴板都是空的。有谁知道这是怎么回事?
您必须在 onResume() 方法中指定您的 shareBtn.setOnClickListener。
我为 "share" 按钮实现了这段代码,它应该在我的应用程序中获取已经 selected 的文本并与其他应用程序共享:
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)));
}
}
});
这里的问题是我第一次点击按钮时它起作用了,但是之后当我 select 另一个文本并再次按下按钮时 selectedText 和剪贴板都是空的。有谁知道这是怎么回事?
您必须在 onResume() 方法中指定您的 shareBtn.setOnClickListener。