2016-11-19 2 views
3

Ich deaktiviere die Android-Navigationsleiste, wenn mein Benutzer bestimmte Aktionen ausführt, bei denen Objekte gezogen werden. Dies soll verhindern, dass sie versehentlich die Schublade öffnen. Das Problem ist, dass ich mit Logmeldungen überflutet werde. Dies macht es schwierig, andere Probleme zu lösen.Übermäßige Protokolle von ViewDragHelper aus Android-Schublade

So schließe ich die Schublade.

drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

Dies sind die Protokollmeldungen, die ich erhalte.

E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
E/ViewDragHelper: Ignoring pointerId=0 because ACTION_DOWN was not received for this pointer before ACTION_MOVE. It likely happened because ViewDragHelper did not receive all the events in the event stream. 
+0

Hatten Sie Erfolg dabei, dies zu mildern? Ich habe ein ähnliches Problem, dass ich explizit Ansichten entlang der Z-Achse neu ordnen musste, wenn ich die Navigationsleiste öffne. Dies funktioniert problemlos, wenn die Schublade über eine Schaltfläche in der Aktionsleiste gesteuert wird, führt jedoch dazu, dass die gleiche Protokollmeldung aufgerufen wird (zusammen mit einem inkonsistenten Öffnen/Schließen-Verhalten), wenn die Neuanordnung in onDrawerSlide erfolgt. –

Antwort

5

Ich hatte das gleiche Problem und ich löste es requestDisallowInterceptTouchEvent Funktion wie folgt verwendet:

public void blockMainMenu(){ 
    ((DrawerLayout) findViewById(R.id.drawer_layout)).requestDisallowInterceptTouchEvent(true); 
    ((DrawerLayout) findViewById(R.id.drawer_layout)).setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_OPEN); 
} 
public void unblockMainMenu(){ 
    ((DrawerLayout) findViewById(R.id.drawer_layout)).requestDisallowInterceptTouchEvent(false); 
    ((DrawerLayout) findViewById(R.id.drawer_layout)).setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED); 
} 

Also, wenn ich meine DrawerLayout Block I Touch-Ereignisse nicht zulassen, und Log zeigt nicht viel von Fehlermeldungen, dass viele Ereignisse verloren gegangen sind.

Hoffe, das kann Ihnen helfen!

Verwandte Themen