如何获取光标位置前的最后一个字符?

时间:2018-01-15 01:52:53

标签: java android

我正在开发一个简单的数学计算器。如果用户将光标位置更改为文本中的任何其他位置。我想获取光标位置前的最后一个字符并应用一些命令。 E.g

If (the last character is...){ 
    //perform this command
}

1 个答案:

答案 0 :(得分:0)

如果没有突出显示或选择文本,则

editText.getSelectionStart()

editText.getSelectionEnd() 

返回光标相对于文本长度的位置。 因此,您可以使用光标的相对位置来检索它之前的最后一个字符。

编辑: 假设您有一个EditText并且您已将其命名为editText。

String lastChar = "";
int cursorPos = editText.getSelectionStart();
if (cursorPos<=0)
{
     //The Cursor is at the beggining of the text
}
else
{
      lastChar = text.getText().charAt(text.getSelectionStart()-1) + "";
      System.out.println("The Last Character is: "+lastChar);
}

String变量lastChar将包含光标位置之前的字符。