2017-04-24 5 views
1

私はeditTextフィールドの最後にカーソルを置いて、途中で情報を入力できないようにしています。私は、onClickListenerとonTouchListenerを使用して、選択範囲をeditTextの長さに設定しようとしました。両方を試しても、ユーザーはカーソルをテキストの中央に移動できます。これを防ぐ方法はありますか?editTextでカーソルを移動不能にする

答えて

0

myEditText.setSelection(text.length())を使用すると、onSelectionChanged()メソッドと組み合わせてEditTextの末尾にカーソルを設定できます。これは、バックテキストの最後にカーソルを戻しますhttps://stackoverflow.com/a/12982251/1269953

@Override 
public void onSelectionChanged(int start, int end) { 

    CharSequence text = getText(); 
    if (text != null) { 
     if (start != text.length() || end != text.length()) { 
      setSelection(text.length(), text.length()); 
      return; 
     } 
    } 

    super.onSelectionChanged(start, end); 
} 

から撮影します。

+0

このコードを自分のプログラムに実装する方法についてちょっと混乱しています –

+0

リンクを見ると、 'EditText'で利用できるメソッドである' onSelectionChanged'をオーバーライドすることができます。 EditTextを拡張してそのメソッドをオーバーライドするクラスを作成する – Pztar

関連する問題