【问题标题】:How to copy text from listview in android?如何从android中的listview复制文本?
【发布时间】:2014-01-24 07:37:49
【问题描述】:

如何从 ListView 复制文本?对于复制文本,我使用剪贴板管理器。但是,它不起作用。 这是我的代码:

@Override
public boolean onItemLongClick(AdapterView<?> arg0, View arg1, int arg2,
        long arg3) {
    // TODO Auto-generated method stub
    String message = mMessagelist.get(arg2).getMessage_text().toString();

    if (true) {

        CLIPBOARD_TEXT = ((TextView) findViewById(R.id.message))
                .getText().toString();
        alert.showAlertDialog(MessagesActivity.this, "",
                "Your text is copied to clipboard", false);
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
            android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            ClipData clip = ClipData.newPlainText("simple text",
                    CLIPBOARD_TEXT);
            clipboard.setPrimaryClip(clip);
        } else {
            android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
            clipboard.setText(CLIPBOARD_TEXT);
        }

    }
    return true;
} 

当用户长按项目时,我只是显示一个弹出窗口并复制文本,但它不起作用..请帮助我。

【问题讨论】:

  • 您是否在代码中使用自定义 listView 和自定义适配器?

标签: android android-listview copy-paste clipboardmanager


【解决方案1】:
CLIPBOARD_TEXT = ((TextView) findViewById(R.id.message)).getText().toString();

试着把它分成几部分。

String CLIPBOARD_TEXT;
TextView tvMsg = (TextView) findViewById(R.id.message);
CLIPBOARD_TEXT = tvMsg.getText().toString();

ClipData clip = ClipData.newPlainText("simple text", CLIPBOARD_TEXT);

ClipData clip = ClipData.newPlainText(CLIPBOARD_TEXT, CLIPBOARD_TEXT);

希望有效。

【讨论】:

  • 但是这里我的问题是当我在 listitem 上调试 logclick 时,这个 onItemLongClickListener 没有调用。但是我在 oncrete mMessagesListView.setOnItemLongClickListener(MessagesActivity.this) 内部调用 longclicklistener;
【解决方案2】:

请说明您的长按监听器不工作或复制到剪贴板不工作

复制就用这个

 ClipData myClip;
 String text = "hello world";
 myClip = ClipData.newPlainText("text", text);
 myClipboard.setPrimaryClip(myClip);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-04-28
    • 1970-01-01
    • 2019-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-24
    • 2011-04-22
    相关资源
    最近更新 更多