0

ここで本当にばかげた質問ですが、グーグルで答えを見つけることができませんでした。

クリック可能なテキストビューがあります。クリックされた行の番号を取得する方法は??

4

1 に答える 1

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()ドキュメントから:

テキスト内のマークアップにより、個々の行がこの高さよりも高くなったり短くなったりする可能性があり、レイアウトには追加の最初または最後の行のパディングが含まれる場合があることに注意してください。

したがって、上記の属性を変更した場合は、それも考慮する必要があります。

于 2012-10-21T20:20:23.143 に答える