私のプロジェクトにthis DragListViewを使用します。 1つだけのものはDragListView
うまく動作します。ドラッグされたアイテムが上部または下部に達すると自動的にスクロールします。しかし、問題は、私がDragListView
をネストしたときに発生します。Android - ネストされたDragListViewは端に達すると自動スクロールしません
私は外部にRecyclerView
を持っています。このRecyclerView
にはカスタムアダプターが実装されています。また、RecyclerView
のカスタムアイテムにはDragListView
が含まれています。だから、レイアウトは、このようなものです:上記のレイアウトについては
<recyclerview>
<item>
<something like textview>
<DragListView>
<subitem/>
<subitem/>
<...../>
</DragListView>
</item>
<item repeated...>...</item>
</recyclerview>
、私はサブアイテムをドラッグすることができますが、それはそれは、両端に達して文句を言わない自動スクロールするとき。問題を探した後、スクロールの基準が「」であることがわかりました。最後のアイテムや最初のアイテムは表示されないようにしてください。リストの上部/下部にあるので、 "です。彼らはuser'veが上部または下部に達したかどうかを確認するために使用する方法がある。それがnullなら
ViewHolder lastChild = findViewHolderForLayoutPosition(mAdapter.getItemCount() - 1);
ViewHolder firstChild = findViewHolderForLayoutPosition(0);
、あなたはDragListView
のトップ/ボトムに達していません。ヌルでない場合は、DragListView
の上部/下部に達しています。
しかし、最後の項目と最初の項目が現在画面に表示されていない(まだレイアウトされていない)場合でも、上記のコードは常にゼロ以外の値を返します。ViewHolder
システムはそれがトップ/スクロールしません(リストの途中で、最初と最後の項目は画面外です)。
DragListView
はすべてのアイテムをレンダリングしているため、ユーザーは外側のRecyclerView
だけをスクロールする必要があるためです。 (RecyclerView
とDragListView
の両方をスクロールすると、ユーザーに悪いUXが発生する可能性があります)。
私は、アダプタが、運を経由してAcitivityから渡されたgetApplicationContext()
にDragListView
のsetLayoutManager
context
を変更しようとしました。
誰でもこの問題を解決する方法はありますか?貴重な時間をありがとう。