Android 选择用于复制文本的文本

Android 选择用于复制文本的文本,android,android-layout,android-widget,Android,Android Layout,Android Widget,我想在EditText中选择一些文本,EditText是ListView的子元素。必须在剪贴板上设置所选文本。我找不到这方面的任何例子。我该怎么做?selectionStart和selectionEnd不适用于此。 谢谢。EditText已经在长按时提供了此功能……意味着长按EditText,它会弹出上下文菜单,询问全选、全选、全选。在列表选择事件中使用此代码 ClipboardManager剪贴板=(ClipboardManager)getSystemService(剪贴板_服务);clipb

我想在EditText中选择一些文本,EditText是ListView的子元素。必须在剪贴板上设置所选文本。我找不到这方面的任何例子。我该怎么做?selectionStart和selectionEnd不适用于此。
谢谢。

EditText已经在长按时提供了此功能……意味着长按EditText,它会弹出上下文菜单,询问全选、全选、全选。

在列表选择事件中使用此代码


ClipboardManager剪贴板=(ClipboardManager)getSystemService(剪贴板_服务);clipboard.setText(txedit.getText().toString())

您可以在ListView自定义适配器的editText长单击事件上打开一个对话框,并在其中显示两个选项“复制并粘贴”

您可以使用

ClipboardManager clipboard = 
                              (ClipboardManager) c1.getSystemService(c1.CLIPBOARD_SERVICE); 

                         clipboard.setText("Text to copy");
并使用

System.out.println(clipboard.getText());

这是可能的解决办法。在listview的getView方法中执行以下操作:

enter code here:

public View getView(final int position, View convertView, ViewGroup parent) {
            // A ViewHolder keeps references to children views to avoid unneccessary calls
            // to findViewById() on each row.
            final ViewHolder holder;


            if (convertView == null) {
                convertView = mInflater.inflate(R.layout.main, null);

                // Creates a ViewHolder and store references to the two children views
                // we want to bind data to.
                holder = new ViewHolder();


                holder.subText = (TextView) convertView.findViewById(R.id.subTxt);      

                convertView.setTag(holder);
            } else {
                // Get the ViewHolder back to get fast access to the TextView
                // and the ImageView.
                holder = (ViewHolder) convertView.getTag();
            }

            //TEXT BOX position is 0 then 
            if(position == 0) {

                ClipboardManager clipboard = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE); clipboard.setText(txtEdit.getText().toString());
            } 
            return convertView;
        }

使用ExtractedText提供的api

请尝试在listview中这样做,然后我们可以稍后讨论。抱歉,我的错误是在listview中没有看到相同的内容。现在我也想知道怎么做。你可以试试这个,它不会起作用的。我已经尝试了所有可能的方法。但它似乎不起作用。android中存在列表焦点问题。它总是混淆子元素和父元素。你不明白这个问题吗。Listview的子元素有问题。很抱歉,没有太多的时间来编写您的问题所需的内容,所以几分钟的搜索为我提供了此链接,这可能会对您有所帮助。如果你已经试过了,我很抱歉。我在评论中明确表示没有时间。不要听写太多。这里的问题是你们的,社区正在努力帮助你们。不要以为社区会为你写下一切。如果链接无效,您可以忽略。你的每一个回答都是口述,这不好。嘿,我什么都不是口述。我正在努力防止社区收到垃圾答案。别误会我!
InputConnection ic = getCurrentInputConnection();
ExtractedText extracted = ic.getExtractedText(
                    new ExtractedTextRequest(), 0);
            /*If selection start and end are not equal then selected text 
             * needs to be deleted and updated to core*/
            if (extracted!= null && extracted.selectionStart != extracted.selectionEnd) {
}