問題タブ [itemtouchhelper]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
6323 参照

android - Androidのrecyclerviewにアイテムタッチヘルパーを実装する正しい方法

コードを実行するときにonItemTouchHelperとコールバックメソッドを実装する方法についてのチュートリアルをここでフォローしましたが、アイテムを長押しして拾うことができるまで機能しますが、アプリのリスト内の他のアイテムの1つを通過した瞬間に移動します範囲外の例外でインデックスを強制的に閉じますここで誰か助けてもらえますか?

これが私のコードですが、チュートリアルのコードと同じです。

シンプルなアイテム タッチ ヘルパー コールバック

これが私のアダプターです

私もItemTouchHelperAdapterを持っています

そして、私はこのような私の活動でそれを使用します

私が得るエラーは

onMove メソッドで、コメントを外した場合

ドラッグアンドドロップの半分は機能するので、ドラッグすることはできますがドロップすることはできず、ビューはそれに対応するために移動しません。これは私のcardMakerリストだと思いますが、それはデータベースからのリストにすぎません。

0 投票する
1 に答える
284 参照

android - onChildDraw がアイテムを点滅させる

スワイプして閉じることができるビューを作成しようとしていますが、元に戻すことができます。アイテムには、 内に背景と前景がありFrameViewます。私はこのようにオーバーライドonChildDrawしていますItemTouchHelper.Callback:

次のようなユーザーアクションに基づいてスワイプアクションを元に戻そうとするまで、すべてが機能します。

実際のビューを元の位置に戻しますが、ユーザーがそのアイテムをもう一度スワイプしようとすると、背景が再び表示され、何らかの理由で onChildDraw が画面の幅より大きい dX パラメータで呼び出されます。アイテムをタップすると、一瞬バックグラウンド ビューが表示され、その後、通常はフォアグラウンドを閉じることができます。どうすればこれを修正できますか?

0 投票する
0 に答える
264 参照

android - RecyclerView から ItemTouchHelper オブジェクトを取得する

私のコードでは、次のようItemTouchHelperに toを付けRecyclerViewます。

simpleItemTouchCallbakItemTouchHelper.SimpleCallbackインスタンスです。上記のコードは複数回呼び出されますが、一度だけアタッチしたいですItemTouchHelper。私はそれへの参照を保持したり、ブール値フラグを使用したりできることを知っていますが、タッチヘルパー参照フォームRecyclerViewまたはその参照を取得する方法はありますLayoutManagerか?

0 投票する
0 に答える
1279 参照

android - ItemTouchHelper startSwipe が機能しない

アダプター内で startSwipe を使用しようとしましたが、機能していないようです。不思議なことに、手動で指でスワイプしようとすると、うまくいきました。ただ、ホルダー内のボタンをクリックしてもstartSwipeが機能しません。これについて助けが必要です〜

ここで startSwipe を呼び出しました (onCreateViewHolder メソッド内)。

これは、ItemTouchHelper をセットアップする方法です。

RecyclerView に ItemTouchHelper をアタッチする方法:

0 投票する
1 に答える
1272 参照

android - Android - RecyclerView: スワイプでアイテムを削除

RecyclerView があり、スワイプ後にアイテムを削除する必要があります。ItemTouchHelper クラスで解決しました。onChildDraw メソッドで、リスト アイテムの後ろをスワイプすると表示される赤い背景を設定しました。その上に、右側のサイトにゴミ箱アイコンがあります。正常に動作していますが、スワイプを開始して最後までスワイプせずに通常の位置にスワイプすると、ゴミ箱のアイコンが消えません。ただし、選択したアイテムをスワイプすると消えますが、通常のアイテムでは消えません。

ItemTouchHelper クラスのコードは次のとおりです。

スワイプがキャンセルされたときにアイコンを削除する方法を誰かが知っていますか? または、z-index のようなものはありますか? 選択したアイテムをスワイプして戻すと、アイテムの下にゴミ箱アイコンが消えるためです。しかし、通常のアイテムをスワイプすると、アイコンがアイテムの上にあり、アイコンはそこにとどまります。