Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Touch coordinates in textview

I am using touch listener on text view. I can get the touch coordinates through motion event.

Can I get the character index or near by character coordinates on which I clicked.

Eg., Hello Android

This is my text. Now I can get the x y coordinates but can I get the character index, say A, when I touch it.

like image 800
android developer Avatar asked Dec 23 '11 12:12

android developer


1 Answers

You have to overide onTouch()

Try with the following

public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
         Layout layout = ((TextView) v).getLayout();
            int x = (int)event.getX();
            int y = (int)event.getY();
            if (layout!=null){
                int line = layout.getLineForVertical(y);
                int characterOffset = layout.getOffsetForHorizontal(line, x);
                Log.i("index", ""+characterOffset);
                }
            return true;


    }
like image 189
Sunil Kumar Sahoo Avatar answered Sep 29 '22 00:09

Sunil Kumar Sahoo