0

EditText如果文本太长,我需要将其椭圆化并确保第一个字符可见。但是在单击/触摸事件上,它应该是可编辑的,并且光标应该位于行尾。

在网上搜索后,似乎android:ellipsize="end"EditText. 确实,如果我设置edittext.setKeyListener(null)ellipsize 有效,但视图不可编辑,我无法在其上设置任何onClickListener内容。

如果我使用setFocusable(false)而不是禁用KeyListener我不会得到椭圆效果。

我当前的代码:

    v.setSelection(0);
    v.setFocusable(false);
    //v.setKeyListener(null);
    v.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            v.setFocusable(true);
            v.setFocusableInTouchMode(true);
            v.setEnabled(true);
            v.setSelection(v.getText().length());
        }
    });

xml:

android:lines="1"
android:scrollHorizontally="true"
android:ellipsize="end"
android:singleLine="true"
4

1 回答 1

0

你能解决一些其他的观点吗?像 show TextViewforellipsizeonclickof TextViewshow一样EditText instead of TextView,保持光标位置到末尾EditText

于 2018-05-06T11:58:49.063 回答