Ausnahme: Callbacks müssen übergeordnete Grenzen in populateNodeForVirtualViewId () setzen

8

Der Absturzberichtsdienst für Android-Apps hat viele Fälle gemeldet:

%Vor%

Ich fühle mich mit Accessibility-Problemen verbunden, auf die ich mich nicht wirklich gekümmert habe, aber wie fange ich an, das zu beheben? der Aufrufstapel zeigt mich nicht in irgendeine Richtung

Ich habe versucht, an allen Stellen in meinem Code ein contentDescription-xml-Tag hinzuzufügen, das mich darüber informiert hat, dass es fehlt, aber es hat nicht geholfen

Bearbeiten: Das Problem ist aufgetreten. Der Absturz ist aufgetreten, als ich ein StreetViewPanoramaFragment über einem Kartenfragment angezeigt habe, als die Suche per Berührung (Talkback?) Aktiviert wurde.

Ich weiß nicht, was das verursacht, ich schätze, ich werde eine separate fokussiertere Frage öffnen

    
Shai Levy 23.08.2014, 08:50
quelle

5 Antworten

3

Das Problem ist aufgetreten. Der Absturz ist aufgetreten, als ich ein StreetViewPanoramaFragment über einem Kartenfragment angezeigt habe, als die Suche per Berührung (Talkback?) aktiviert wurde.

Ich weiß nicht, was das verursacht, ich schätze, ich werde eine separate fokussiertere Frage öffnen

    
Shai Levy 07.09.2014 10:00
quelle
1

Nun, die Frage ist "Wie kann ich anfangen das zu beheben?", also würde ich sagen: Fangt an, in den Framework-Code zu schauen.

Ich könnte herausfinden, dass createAccessibilityNodeInfo() tatsächlich von View.createAccessibilityNodeInfo() stammt.

Auch die Suche nach "Callbacks müssen Eltern Grenzen in PopulateNodeForVirtualViewId () setzen" Ich fand, dass dies in Zeile 395 in der Klasse ExploreByTouchHelper.java aufgerufen wird.

Ich kann nicht mehr sagen, ohne deinen Code zu kennen, aber das ist ein guter Ausgangspunkt für deine Suche.

    
Gil Vegliach 29.08.2014 20:49
quelle
1

Dies kann ein Fehler in der Unterstützung von v4 sein, wenn in Android-Versionen älter als ICS ausgeführt wird. Laufzeitausnahme wird ausgelöst durch ExploreByTouchHelper

%Vor%

Dieser Aufruf von node.getBoundsInParent wird in einer AccessibilityNodeInfoImpl-Implementierung implementiert, die auf der Android-Version basiert, auf der der Code ausgeführt wird, wie Sie in AccessibilityNodeInfoCompat

%Vor%

Und es scheint, dass AccessibilityNodeInfoStubImpl ein leerer Stub ist, so dass Sie im Emulator versuchen können, etwas & lt; 14 und sehen, ob Sie die Ausnahme bekommen.

    
isalgueiro 03.09.2014 13:49
quelle
0
  

Wie fange ich an, das zu beheben?

Der erste Schritt besteht darin, dein Stacktrace zu enthülsen

  

java.lang.RuntimeException: Callbacks müssen übergeordnete Grenzen setzen   populateNodeForVirtualViewId () bei iv.a (SourceFile: 56) um   i.a (Quelldatei: 716) bei hq.a (Quelldatei: 112) bei   hw.createAccessibilityNodeInfo (Quelldatei: 42) um   android.view.AccessibilityInteractionController $ AccessibilityNodePrefetcher.prefetchAccessibilityNodeInfos (AccessibilityInteractionController.java:724)

    
rds 03.09.2014 11:59
quelle
0

Als Referenz bekomme ich diesen Stack-Trace, der wie eine entschattete Version aussieht:

%Vor%

Fabric.io enthüllte auch, dass ein streetview-Thread läuft:

%Vor%     
Rob Crowell 22.07.2015 21:35
quelle

Tags und Links