2016-07-28 17 views
0

Ich bin in der Lage, die Standard-Tastatur zu verstecken, indemAndroid EditText bewegen Sie den Cursor ohne Standardtastatur zeigt

setOnTouchListener(new OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      Selection.setSelection(getText(), length()); 
      return true; 
     } 
    }); 

Position dieses nicht bewegt den Cursor auf den geklickt werden. Ich muss den Cursor auf die angeklickte Position bewegen.

+0

Verweisen [this] (http://stackoverflow.com/a/14185131/5067493) –

Antwort

1

Dieser eine funktionierte durch Erstellen einer separaten Klasse EditText erweitern.

setOnTouchListener(new View.OnTouchListener() { 
     @Override 
     public boolean onTouch(View v, MotionEvent event) { 
      switch (event.getAction()) { 
       case MotionEvent.ACTION_DOWN: 
        Layout layout = ((EditText) v).getLayout(); 
        float x = event.getX() + getScrollX(); 
        int offset = layout.getOffsetForHorizontal(0, x); 
        if (offset > 0) 
         if (x > layout.getLineMax(0)) 
          setSelection(offset);  
         else 
          setSelection(offset - 1); 
        break; 
      } 
      return true; 
     } 
    }); 
Verwandte Themen