检索TextView单击的行号

时间:2012-10-21 20:08:25

标签: android textview row clickable

这里真的很愚蠢的问题,但谷歌找不到答案。

我有一个可点击的textview。 如何检索单击的行号?

1 个答案:

答案 0 :(得分:3)

问题不是那么愚蠢,因为我知道没有内置方法可以做到这一点。

但是你可以使用:


基本示例:

textView.setOnTouchListener(new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if(event.getAction() == MotionEvent.ACTION_UP) {
            float line = FloatMath.floor(event.getY() / textView.getLineHeight());
            Toast.makeText(getBaseContext(), "" + line, Toast.LENGTH_SHORT).show();
        }
        return false;
    }
});

来自getLineHeight()文档:

  

请注意,文本中的标记可能会导致单个行比此高度更高或更短,并且布局可能包含额外的第一行或最后一行填充。

因此,如果您修改了上面列出的任何属性,那么您也需要考虑到这一点。