【问题标题】:EditTexts with links both clickable and editable带有可点击和可编辑链接的 EditTexts
【发布时间】:2015-12-20 06:40:47
【问题描述】:

我正在使用 EditText,它在输入中使用 WebUrl。为此,我正在使用 LinkMovementMethod 在 EditText 中制作可点击的链接。

问题是:

如果文本的最后部分是链接,则单击任意位置都会导致 要打开的链接。

我想要当我点击点击此处编辑区域编辑文本时,它会是可编辑的吗?

【问题讨论】:

标签: android android-edittext linkmovementmethod


【解决方案1】:

Daniel Lew 几天前写了一篇关于它的博客文章。他建议下一个解决方案:

// Make links in the EditText clickable
editText.setMovementMethod(LinkMovementMethod.getInstance());

// Setup my Spannable with clickable URLs
Spannable spannable = new SpannableString("http://blog.danlew.net");  
Linkify.addLinks(spannable, Linkify.WEB_URLS);

// The fix: Append a zero-width space to the Spannable
CharSequence text = TextUtils.concat(spannable, "\u200B");

// Use it!
editText.setText(text); 

你可以在这里找到帖子:Making EditTexts with links both clickable and editable

【讨论】:

    【解决方案2】:

    检查以下代码。

    EditText inputText;
    //Edittext is clickable at right side.
    inputText.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                final int DRAWABLE_LEFT = 0;
                final int DRAWABLE_TOP = 1;
                final int DRAWABLE_RIGHT = 2;
                final int DRAWABLE_BOTTOM = 3;
    
                if (event.getAction() == MotionEvent.ACTION_UP) {
                    if (event.getRawX() >= (inputText.getRight() - inputText.getCompoundDrawables()[DRAWABLE_RIGHT].getBounds().width())) {
                       //write your logic
                        return true;
                    }
                }
                return false;
            }
        });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-07
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多