在Image

时间:2016-10-07 09:47:51

标签: android android-edittext clipboard imagespan

我有一个包含带文本和ImageSpan的SpannableString的edittext,我希望当我长按ImageSpan以了解我点击了哪个Drawable(或SpannableString中的索引)并将其转换为uri以将其复制到剪贴板。之后,您可以将其粘贴到其他edittext中。但我不知道如何处理这个问题。

这是我的代码,如果有人可以提供帮助,请提前感谢

    editText=(EditText)findViewById(R.id.editText);
    SpannableString ss = new SpannableString("abcd efgh ijklmn opqr stuv wxy");
    Drawable d = getResources().getDrawable(R.drawable.logomakr);
    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
    ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
    ss.setSpan(span, 20, 21, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
    ss.setSpan(new ClickableSpan() {
        @Override
        public void onClick(View v) {

            new AlertDialog.Builder(MainActivity.this)
                    .setTitle("Copy Image")
                    .setPositiveButton("copy", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            // continue with copy
                        }
                    })
                    .setNegativeButton("cancel", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int which) {
                            // do nothing
                        }
                    })
                    .setIcon(android.R.drawable.ic_dialog_alert)
                    .show();
        }
    }, 20, 21, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
    editText.setText(ss);
    editText.setMovementMethod(LinkMovementMethod.getInstance());

0 个答案:

没有答案