1

Androidのすべてのバージョンでクリップボードからコピーして貼り付ける方法を探しています。今のところ、私はAPI11以降でこれを行う方法しか知りません。

copy.setOnLongClickListener(new View.OnLongClickListener()
    {
        @SuppressLint({ "NewApi", "NewApi" })
        @Override
        public boolean onLongClick(View v)
        {
            clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
            clipdata = ClipData.newPlainText("simple text", copy.getText().toString());
            clipboard.setPrimaryClip(clipdata);
            Toast.makeText(getApplicationContext(), "Copied to clipboard..", Toast.LENGTH_SHORT).show();
            return true;
        }
    });

    paste.setOnLongClickListener(new View.OnLongClickListener()
    {
        @SuppressLint({ "NewApi", "NewApi" })
        @Override
        public boolean onLongClick(View v)
        {
            clipboard = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
            String pasteData = "";
            item = clipboard.getPrimaryClip().getItemAt(0);
            pasteData = item.getText().toString();
            paste.setText(pasteData);
            Toast.makeText(getApplicationContext(), "Pasted", Toast.LENGTH_SHORT).show();
            return true;
        }
    });

助けていただければ幸いです、ありがとう。

4

2 に答える 2

1

ClipboardManagerはv11に追加されていません、ドキュメントが間違っています。v11で再設計されました。ドキュメントで、古い非推奨の関数を引き続き確認できます。バージョンチェックを行い、古いバージョンでは古い機能を使用し、新しいバージョンでは新しい機能を使用します。ClipboardManagerのgetText、hasText、およびsetTextを参照してください。

于 2013-03-22T06:37:12.423 に答える
1
             int sdk = android.os.Build.VERSION.SDK_INT;
            if(sdk < android.os.Build.VERSION_CODES.HONEYCOMB) {
                android.text.ClipboardManager clipboard = (android.text.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE);
                clipboard.setText("text to clip"); // 
            } else {
                android.content.ClipboardManager clipboard = (android.content.ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
                android.content.ClipData clip = android.content.ClipData.newPlainText("text label","text to clip");
                clipboard.setPrimaryClip(clip); // 
            }
于 2013-03-22T06:42:16.373 に答える