如何确定何时选择文本[Android [EditText]]

时间:2014-12-15 17:37:15

标签: java android android-edittext textselection

是否可以确定何时选择文本以及何时不选择文本?

我在使用谷歌搜索和find onSelectionChanged()方法或setOnLongClickListener()确定用户longClick何时使用editText,以便在他做出选择时,但在这两种情况下它都无法帮助我确定,当用户没有选择任何文本时(我可以设置按钮不可见)......

3 个答案:

答案 0 :(得分:3)

int startSelection=et.getSelectionStart();
int endSelection=et.getSelectionEnd();  

getSelectionStart()方法将返回选择锚点/光标的开头,如果用户未选择任何文本,则返回-1。你可以试试这个。

答案 1 :(得分:3)

您可以使用

yourEditText.setOnTouchListener(new View.OnTouchListener() {
          @Override
          public boolean onTouch(View v, MotionEvent event) {

            if (MotionEvent.ACTION_UP == event.getAction()) {

              if (yourEditText.hasSelection()) {
                // if true, the text in the EditText is selected
              }

            return false;
          }
        });

这应该这样做。

答案 2 :(得分:0)

您可以检查editText.getSelectionStart()和editText.getSelectionEnd()并检查这些值是否为:

  • 一样:用户未选择文本
  • 不同:用户选择了文字

所以:

int startSelection= textAbove.getSelectionStart();
int endSelection= textAbove.getSelectionEnd();

if (startSelection != endSelection) {
    ... DO SOMETHING ...
}