1

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

ユーザーがアイテムを長くクリックすると、ポップアップが表示されてテキストがコピーされるだけですが、機能しません..助けてください。

4

2 に答える 2

0

ロングクリックリスナーが機能していないか、クリップボードへのコピーが機能していないことを明確にしてください

コピーするにはこれを使用してください

 ClipData myClip;
 String text = "hello world";
 myClip = ClipData.newPlainText("text", text);
 myClipboard.setPrimaryClip(myClip);
于 2014-01-24T09:13:56.363 に答える
0
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);

それがうまくいくことを願っています。

于 2014-01-24T07:48:08.487 に答える