我需要向用户显示一段文本,并且可以选择其中的一部分并将其复制到剪贴板。 但是没有打开键盘。 我知道在 api 11 和更新版本上我可以使用
text.setTextIsSelectable (true);
但是降低操作系统版本的解决方案是什么?
最佳答案
使用 ContextMenu
和 CLIPBOARD_SERVICE
:
private TextView mTextView;
protected final void onCreate(Bundle savedInstanceState) {
...
registerForContextMenu(mTextView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) {
TextView textView = (TextView) view;
menu.setHeaderTitle(textView.getText()).add(0, 0, 0, R.string.menu_copy_to_clipboard);
}
@Override
public boolean onContextItemSelected(MenuItem item) {
((ClipboardManager) getSystemService(CLIPBOARD_SERVICE)).setText(mTextView.getText());
return true;
}
关于android - 如何使 TextView 在 api 11 下可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167330/