android developer
android developer

Reputation: 1253

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.

Upvotes: 6

Views: 2582

Answers (1)

Sunil Kumar Sahoo
Sunil Kumar Sahoo

Reputation: 53657

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;


    }

Upvotes: 13

Related Questions