2016-11-19 2 views
3

ユーザーがオブジェクトをドラッグして特定の操作を実行すると、Androidナビゲーションドロワーが無効になります。これは、誤って引き出しを開けないようにするためです。問題は、ログメッセージがあふれていることです。これは、他の問題のトラブルシューティングが困難になっています。AndroidドロワーのViewDragHelperからの余分なログ

これは、私が引き出しをロックする方法です。

drawer.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED); 

これは私が得ているログメッセージです。

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

これを軽減するのに成功しましたか? ナビゲーション・ドロワーを開くときにZ軸に沿ってビューを明示的に並べ替える必要がある点で同様の問題があります。これは、アクションバーのボタンでドロワーが制御されているときにうまく動作しますが、onDrawerSlide内で並べ替えが実行されたときに、同じログメッセージが呼び出されます(一部の一貫性のないオープン/クローズ動作)。 –

答えて

5

私は同じ問題を抱えていたし、私はそれがこのようなrequestDisallowInterceptTouchEvent機能使って解く:だから

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); 
} 

を、私は私のDrawerLayoutをブロックしたときに、私はタッチイベントを禁止し、ログ多くを示していません彼らは多くのイベントが失われているというエラーメッセージが表示されます。

希望があなたを助けることができます!

関連する問題