2

複数行のEdittextでカーソルを行の上下に移動できるボタンを実装する必要があるという要件があります。

開発者のWebサイトを調べたところ、Selectionクラスhttp://developer.android.com/reference/android/text/Selection.html を使用できることがわかりましたが、使用できません。

ここで私を助けてください。

ありがとうございました。

4

3 に答える 3

1

このコードについてはよくわかりませんが、ある程度拡張するのに役立つかもしれません。

次のURLのコードを確認してください。私はあなたが解決策を見つけるのを手伝うかもしれません。

http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/text/Selection.java

于 2012-06-20T13:13:08.277 に答える
1

ソース: http: //grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.3_r1/android/text/Selection.java

コードをコピーして以下に少し変更を加えてから、クラスに追加しました。


public boolean moveDown(Layout layout) {
        int start = myTextbox.getSelectionStart();
        int end = myTextbox.getSelectionEnd();

        if (start != end) {
            int min = Math.min(start, end);
            int max = Math.max(start, end);

            myTextbox.setSelection(max);

            if (min == 0 && max == myTextbox.length()) {
                return false;
            }

            return true;
        } else {
            int line = layout.getLineForOffset(end);

            if (line < layout.getLineCount() - 1) {
                int move;

                if (layout.getParagraphDirection(line) ==
                    layout.getParagraphDirection(line + 1)) {
                    float h = layout.getPrimaryHorizontal(end);
                    move = layout.getOffsetForHorizontal(line + 1, h);
                } else {
                    move = layout.getLineStart(line + 1);
                }

                myTextbox.setSelection(move);
                return true;
            }
        }

        return false;
    }

これがお役に立てば幸いです。

誰かが実際の方法を再現せずに使用する方法を知っている場合は、共有してください:D

于 2012-12-29T19:31:36.713 に答える
0

試す:

editText.append( "\ n");

カーソルが次の行に移動します。

于 2016-02-28T19:30:03.207 に答える