0

EditTextテキストが長すぎる場合は、省略して最初の文字が表示されるようにする必要があります。ただし、クリック/タッチイベントでは編集可能で、カーソルが行末にある必要があります。

インターネットで検索したところ、android:ellipsize="end"の編集可能モードと互換性がないようですEditText。確かに、edittext.setKeyListener(null)楕円サイズを設定すると機能しますが、ビューは編集できず、何も設定できません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