0

我正在研究软键盘。

我的问题如下。

  1. 如何获取文本中光标的当前位置(EditText)。
  2. 如何获取文本中值的总长度(EditText)。
  3. 如果 EditText 是多行的,则获取文本中的当前光标行(EditText)。

如果您想查看我的代码,请查看此软键盘的链接。我正在遵循此代码。

4

1 回答 1

1

您应该将 textwatcher 事件放在 edittext 中,这是在用户键入字符(键盘输入的任何字符)时执行的事件。在您的情况下,当用户在 edittext 中键入单个字符时,您会得到孔文本然后获取该文本的长度,它是您的光标位置和文本中值的总长度。根据您的第三个问题,您已使用上述方法将所有文本写入编辑文本,然后将所有文本转换为 ascii 值,然后将每个字符与 13 进行比较(这是键盘输入的 ascii 值)并增加行计数器使用此条件为真,您在编辑文本中找不到任何行。我正在为您提供一个示例,如何将文本观察器放入您在此代码中更改的 edittext 并根据您的条件进行转换。

ed.addTextChangedListener(new TextWatcher() {

            public void afterTextChanged(Editable s) {
            }

            public void beforeTextChanged(CharSequence s, int start, int count,
                    int after) {
            }

            public void onTextChanged(CharSequence s, int start, int before,
                    int count) {

                textlength = ed.getText().length();
                );

            }
        });
于 2011-05-19T05:12:48.987 回答