Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| public void Test() { TextView ThisTextView = new TextView(this); View.OnTouchListener ThisOnTouchListener = new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_MOVE: break; case MotionEvent.ACTION_UP: v.performClick(); break; default: break; } return true; } }; ThisTextView.setOnTouchListener(ThisOnTouchListener); } |
Ik gebruik Android Studio 3.0.1., en het bovenstaande stukje code.
Als ik deze code laat inspecteren, krijg ik op de regel "ThisTextView.setOnTouchListener" de volgende Lint-warning:
Custom view `TextView` has OnTouchListener called on it but does not override performClick
If a `View` that overrides `onTouchEvent` or uses an `OnTouchListener` does not also implement `performClick` and call it when clicks are detected, the `View` may not handle accessibility actions properly. Logic handling the click actions should ideally be placed in `View#performClick` as some accessibility services invoke `performClick` when a click action should occur.
Het lijkt alsof veel mensen met dit probleem zitten want op internet kom ik ook vaak deze melding tegen, maar helaas tot nu toe geen oplossing bij gevonden.
Ook in de code van de detectie zelf https://android.googlesou...ccessibilityDetector.java heb ik geen oplossing hiervoor kunnen vinden.
Zodra ik "ThisTextView.setOnTouchListener" intyp komt de Lint-melding al tevoorschijn, Dus het lijkt erop dat het niets te maken heeft met de inhoud van de "ThisOnTouchListener" heeft. Een extra Clicklistener en combinaties van performClick(); hebben tot nu toe geen verbetering gegeven.
Heeft iemand een suggestie om die Lint-melding op te lossen?
Speel ook Balls Connect en Repeat