Updated
Implement android.view.View.OnFocusChangeListener in your activity (for example) and set yourView.setOnFocusChangeListener(yourActivity)
If you combine it with OnTouchListener , then you can filter out user touches, since onTouch () is called first - you can set the boolean class element. Make sure reset is logical if focus is lost.
The code should be something like this:
... import android.view.View.OnFocusChangeListener; ... public class MainActivity extends Activity implements OnFocusChangeListener, OnTouchListener { boolean userTouchedView; @Override public View onCreateView(...) { ... yourView.setOnFocusChangeListener(this); ... } @Override public void onFocusChange(View v, boolean hasFocus) { if (hasFocus && !userTouchedView)) {
source share