2

我有一个要求,我必须实现可以在多行 Edittext 中上下移动光标的按钮。

我浏览了开发者网站,发现可以使用Selection 类http://developer.android.com/reference/android/text/Selection.html ,但我无法使用它..

请在这里帮我..

谢谢你。

4

3 回答 3

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 回答
1

我不确定这段代码,但它可能会在一定程度上帮助你......

只需浏览以下网址中的代码。我可能会帮你找到解决方案。

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 回答
0

尝试:

editText.append("\n");

它将光标移动到下一行。

于 2016-02-28T19:30:03.207 回答