Is possible to determine when text is selected and when is not?
I was googling and I find onSelectionChanged()
method or setOnLongClickListener()
for determining when user longClick
s the editText so when he made selection, but in both cases it can't help me with determining, when the user is not selecting any text (I could set button invisible)...
int startSelection=et.getSelectionStart();
int endSelection=et.getSelectionEnd();
The getSelectionStart()
method will return the start of the selection anchor/cursor or -1 if the user has not selected any text. You could try using this.
You can use
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;
}
});
That should do it.
You can check editText.getSelectionStart() and editText.getSelectionEnd() and check if those values are:
- the same: user did not select text
- different: the user selected text
So:
int startSelection= textAbove.getSelectionStart();
int endSelection= textAbove.getSelectionEnd();
if (startSelection != endSelection) {
... DO SOMETHING ...
}