0

タイトルの通り、長押ししたテキストをTextViewで知るにはどうすればよいか悩んでいます。

caption.setOnLongClickListener(new OnLongClickListener() {

    @Override
    public boolean onLongClick(View v) {
        Log.d("log", "caption clicked");
        String text = ((TextView)v).getText().toString();
        Log.d("log", "1: " + text);
        int start = ((TextView)v).getSelectionStart();
        Log.d("log", "2: " + start);
        int end = ((TextView)v).getSelectionEnd();
        Log.d("log", "3: " + end);
        Log.d("log", "selection: " + text.substring(start, end));


        return true;
    }
});

ここでは、開始変数と終了変数の両方に -1 を取得します。長押ししたテキストのインデックスを返すべきではありませんか? textView で長押しされたテキストを知る他の方法はありますか?

4

1 に答える 1

0

そのonSelectionChanged()メソッドをサブクラス化EditTextしてオーバーライドできます。

于 2013-04-19T19:05:23.920 に答える