只是从android API 7中的textview复制?

只是从android API 7中的textview复制?,android,copy,Android,Copy,我想将文本从TextView复制到API 7中的剪贴板 我有一个xml文件: <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignParentRight="true" android:layout_ali

我想将文本从
TextView
复制到API 7中的剪贴板

我有一个xml文件:

<TextView
        android:id="@+id/textView1"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:textColor="#0000ff"
        android:textSize="15dp" 
        android:shadowDx="4"
        android:shadowDy="4"
        android:shadowRadius="20"
        android:textIsSelectable="true"

         />

android:textIsSelectable=“true”
有两个问题:

  • 仅适用于API 11及更高版本
  • 此代码允许用户从
    TextView
    中剪切,但当用户从
    TextView
    中剪切时,应用程序将失败。我可以做一些用户无法剪切
    文本视图的操作吗

  • 在java代码中使用以下命令:

    TextView textView=(TextView)findViewById(R.id.textView1);
    textView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ClipboardManager cm = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
            cm.setText(textView.getText());
            Toast.makeText(context, "Copied to clipboard", Toast.LENGTH_SHORT).show();
        }
    });
    
    编辑-以上代码用于单击;长按使用下面的代码- 在
    onCreate
    方法中,为上下文菜单注册
    TextView
    -

    TextView textView=(TextView)findViewById(R.id.textView1);
    registerForContextMenu(textView);
    
    然后在CreateContextMenu上覆盖
    -

    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
        //user has long pressed your TextView
        menu.add(0, v.getId(), 0, "Copy");
    
        //cast the received View to TextView so that you can get its text
        TextView textView = (TextView) v;
    
        //place your TextView's text in clipboard
        ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
        clipboard.setText(textView.getText());
    }
    

    剪切
    TextView
    的意思是?我知道你不应该剪切TextView。。。但用户可能会犯错误,按“剪切”而不是“复制”。。。。。。。。。。应用程序将失败,我认为这是非常糟糕的,你的应用程序失败只是一个小错误!!您要单击或长按进行复制吗?我要复制textview的部分或所有内容。。。。。长按比较好。。。。。请帮助meI在oncreate方法下添加所有代码。。。。。。。。。。。。。。。。。出现“void是变量onCreateContextMenu的无效类型……”。。。。。。。我能做什么?不,不是所有的代码
    onCreateContextMenu
    是一个单独的方法。它应该在
    onCreate
    之外。它可以。。。。。但是用户可以复制所有的文本视图。。。。。。。。。。。。。。。。。我想允许用户,如果他想可以复制文本视图的部分。。。。可能用户想要复制一些单词,例如,并非所有的文本视图?????您在哪里@naddy先生,这是一个单独的问题。让它成为另一个问题。