android - 如何使 TextView 在 api 11 下可选择

标签 android textview android-4.0-ice-cream-sandwich

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

text.setTextIsSelectable (true);

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

最佳答案

使用 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;
}

关于android - 如何使 TextView 在 api 11 下可选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16167330/

相关文章:

Android加载器,要走的路?

两个服务之间的Android通信

java - 单击任何 ListView 项目时,将该项目文本显示到 EditText 中

android - 如何在android中的最后一个multiclique之后获得值(value)

Android TextView 的下标被剪掉

javascript - Android 浏览器无法在 Android 版本 4.0.4 中加载我的网站

java - 如何从 Internet 获取值到 String[] 数组并将其传递到 Android 中的 GridView ?

android - 创建 View 后如何更改编辑文本

android - 如果另一个 TextView 太长,如何在新行中移动 TextView

android - 在Android v4.0 WebView中显示®注册商标符号?