1

我需要有一个将显示给用户的文本,并且可以选择其中的一部分并将其复制到剪贴板。但是没有打开键盘。我知道在 api 11 和更新版本上我可以使用

text.setTextIsSelectable (true);

但是降低操作系统版本的解决方案是什么?

4

2 回答 2

1

使用ContextMenuCLIPBOARD_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;
}
于 2013-04-23T11:28:42.773 回答
0

经过漫长而耗时的搜索,我找不到可以在 textview 中为 android API 级别 <=11 选择文本的组件。我写了这个可能对你有帮助的组件: 新的 Selectable TextView in android 3 (API <=11) 组件

于 2013-08-04T11:28:25.700 回答