ダイアログにEditView表示して、内容をクリップボードにコピー

@OnClick(R.id.btn)
    void buttonOnClick(View v) {
        //テキスト入力を受け付けるビューを作成します。
        final EditText editView = new EditText(MainActivity.this);
        editView.setText("hogehoge");
        new AlertDialog.Builder(MainActivity.this)
            .setIcon(android.R.drawable.ic_dialog_info)
            .setTitle("タイトル")
            .setView(editView)
            .setPositiveButton("コピー", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                    CopyClipBoard(editView.getText().toString());
                }
            })
            .setNegativeButton("キャンセル", new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int whichButton) {
                }
            })
            .show();
    }

    public void CopyClipBoard(String text) {
        SetClipData(text);
    }

    private void SetClipData(String allText) {
        try {
            ClipData.Item item = new ClipData.Item(allText);

            String[] mimeType = new String[1];
            mimeType[0] = ClipDescription.MIMETYPE_TEXT_URILIST;

            ClipData cd = new ClipData(new ClipDescription("text_data", mimeType), item);

            ClipboardManager cm = (ClipboardManager) getSystemService(CLIPBOARD_SERVICE);
            cm.setPrimaryClip(cd);
        }
        catch(Exception e) {
            e.printStackTrace();
        }
    }